본문 바로가기

구현8

[백준][브루트포스][구현][백트래킹] 12100 2048 c++구현 목차https://www.acmicpc.net/problem/12100문제 문제 구현 방향 및 아이디어생각보다 어려웠다. 아이디어는 슬라이드를 어떻게 하든 90도 돌리면 결과는 같다는 것이다.따라서 회전하는 횟수에 따라서 슬라이드를 반복하는 재귀를 잘 구현하면 되는 문제였다.  1. 90도 회전 아이디어아래와 같이 하면 90도 회전을 구현할 수있다.void rotate(int board[41][41]) { int temp[41][41] = { 0 }; for (int i = 0; i  2. 슬라이디 아이디어90도 회전할 것이기 때문에 한 방향만 구현해 주면 된다.void slide(int board[41][41]) { int temp[41][41] = { 0 }; for (int i.. 2024. 8. 13.
[백준][구현] 17144 미세먼지 안녕! c++구현 목차https://www.acmicpc.net/problem/17144문제 문제 구현 방향너무 복잡하게 푼 것 같다...공기 청정기 구현 방향을 좀만 더 생각했으면 미리 움직일 좌표들을 저장해 놓고 순차적으로 당기는 방식으로 효율적으로 구현했으면 좋았을 것 같다..  코드 구현#include#include#include#include#include#include#includeusing namespace std;int R, C, T;int board[100][100] = { 0 };int Sboard[100][100] = { 0 };int dx[4] = { 0,0,1,-1 };int dy[4] = { 1, -1, 0, 0 };int start1 = -1, start2=-1;//배열 원복 복제void dup.. 2024. 8. 6.
[백준][구현] 14890 경사로 c++구현 목차https://www.acmicpc.net/problem/14890문제 문제 구현 방향생각보다 까다로웠던 문제였다.. 플래그 변수와 ex변수를 통해 검사하였다.    가져갈 아이디어 1. 대칭 배열함수를 두번 구현하기 싫어서 대칭 배열을 만들었다.int boardA[101][101] = { 0 };int boardB[101][101] = { 0 };int main() { cin >> N >> L; for (int i = 0; i > boardA[i][j]; boardB[j][i] = boardA[i][j]; } }}  2. 함수 끝에 이전 배열 저장하기int check(int board[101][101]) { int ex = board[0][0]; for (int j = 0; j   코드 구현#.. 2024. 7. 26.
[백준][구현] 14719 빗물 c++구현 목차 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 문제 문제 구현 방향 보이는 대로 바닥을 채우고 블록은 1로 표시하여 2차원 배열로 만들어 직접 반복문을 통해 카운트하는 방식으로 문제를 풀었다. 문제 풀이 시 주의점 바닥이 항상 막혀있다는 점과 언제부터 카운트를 할지 시점만 잘 주의해 주면 된다. 코드 구현 #include using namespace std; int ml = 0; //빗물 세어주기 int main() {.. 2024. 3. 13.
728x90