네이버 원판 돌리기 돌림판 게임 PC 모바일 버전 방법
본문
문제 원판돌리기 링크선정 이유삼성 문제집에 있어서성공 여부(걸린 시간): 성공(1시간 50분)아이디어문제의 범위를 보면 구현문제임을 다들 눈치 챘을 것이다. 그렇다 이문제는 빡구현이다. 구현문제를 풀땐 어떻게 구현할지와 어떤 함수들을 만들고 원판돌리기 실행 순서에 대해서 생각하면서도 전역으로 변수를 둘지. 지역변수로 둘지 등등 생각할 것이 많아서 난이도가 올릴려면 정말 많이 올릴 수 있는 것 같다. 이 문제는 사실 원판돌리기 저번에 푼 감시보단 쉽지만 꽤나 오래 걸렸기에 더 빨리 풀 수 있어야 할 것이다..예시에서1 1 2 3 5 2 4 2 3 1 3 5 원판돌리기 2 1 3 2 2, 4 번째 원판을 시계 방향으로 돌리면1 1 2 3 2 5 2 4 3 1 3 5 2 2 1 원판돌리기 3 이렇게 2차원 배열로 나타내어도 인접한 수들은 확인할 수 있다.원판 돌리기⇒ Xi의 배수 -1 index에서 방향에 맞게 돌려줄 turnCircle 함수(파라미터는 방향) 만들어서 수행여기서 고려할 점. 원판돌리기 어떤 자료형을 사용할 것인지.deque를 사용해서 앞뒤만 조정해주기그러곤 다시 circle배열에 넣어주기탐색하며 삭제 (원판을 돌리는 함수 호출이 time번 만큼 돌고 다 끝나고 나서 호출됨)⇒ 이 부분은 재귀로 원판돌리기 DFS 탐색을 하면서 지워나가면 되는 부분이라 생각했다.위 아래, 좌우, 만약 index가 0이나 M-1이면 M-1이나 0의 수와 비교하는데 같으면 삭제⇒ -1로 변경 (삭제를 한번이라도 진행했다면 didDelete 원판돌리기 =true)없으면 다음 탐색을 해주고 끝날때까지 didDelete가 false라면 평균을 -1값을 제외한 값들로 구해주고 문제의 조건에 맞도록 +1, -1 연산을 해준다. (calCircle)그리고 모든 수행이 끝났다면 종료하며 남은 원판돌리기 값들을(-1 제외) 다 더해서 출력해준다(getResult).
댓글목록 0
댓글 포인트 안내