본문 바로가기
반응형

정답22

백준 7562번 - 나이트의 이동 (C++) 문제 알고리즘 분류 : 너비 우선 탐색(BFS) 접근 방법 BFS를 몰라서 검색해봤다. 만들기는 매우 쉬웠던 것 같다. (youtu.be/_hxFgg7TLZQ?t=193이거 3분 13초 ~ 5분까지 봤음.) BFS는 깊이를 기준으로 깊이가 1인 노드 탐색 -> 2인 노드 탐색 -> 3인 노드 탐색... 으로 진행되는데, 여기서 깊이(자식) = 체스말의 이동 횟수라고 생각하면 금방 해결할 수 있는 문제였다. 탐색 순서는 사실 한번 이동해서 갈 수 있는곳 -> 두번 이동해서 갈 수 있는곳 -> 세번 이동해서 갈 수 있는... 이런식으로 상당히 비효율적으로 진행되는 것 같다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 .. 2021. 4. 7.
백준 2504번 - 괄호의 값 (C++) 문제 구현 방법 각 괄호마다 괄호 내부의 숫자들을 곱해주기 위하여 재귀를 통하여 구현했다. 크게 세 단계로 구성되어있으며, 먼저 붙어있는 괄호들을 A2B/A3B형식으로 숫자로 바꾸어준다. AB는 2 3 이 23인지 2와 3인지 숫자끼리 구분하기 위하여 덧붙였다. 그리고 이 과정에서 괄호의 갯수를 세며 존재가 불가능한지 판단한다. 이후 재귀를 돌며 괄호를 만나면 해당 괄호가 끝날때까지 그 사이에 있는 A?B에 괄호별 값을 곱해준다. 이때 string에서의 곱 이기 때문에 정수로 변환 후 곱한 후 해당 결과를 삭제->중간 삽입 하는 과정을 거쳐서 곱연산을 하게 되었다. 이를 재귀로 반복하여 문자열의 끝까지 있는 모든 괄호에 대하여 연산을 마치고, 이후 다시 순회하며 모든 숫자들을 더해준다 아쉬웠던점 중간 삽.. 2021. 4. 4.
반응형