재귀
-
BOJ) 종이의 개수 (1780 번)알고리즘/백준 2021. 2. 12. 16:11
종이의 개수 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1의 세 값 중 하나가 저장되어 있다. 우리는 이 행렬을 적절한 크기로 자르려고 하는데, 이때 다음의 규칙에 따라 자르려고 한다. www.acmicpc.net N by N 크기의 종이가 있고, 각 칸에는 -1, 0, 1 세 숫자 중 하나가 저장되어있다. 이 종이는 아래의 규칙에 따라 사용한다. 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다. (1)이 아닌 경우에는 종이를 같은 크기의 9개의 종이로 자르고, 각각의 잘린 종이에 대해서 (1)의 과정을 반복한다. 위의 규칙에 따라 종이를 잘랐을 때, 각각 -1, 0, 1로만 채워진 종이의 개수를 구하는 문제다. 일단 규칙에 따라..
-
프로그래머스 Lv.3) 하노이의 탑알고리즘/프로그래머스 2020. 5. 31. 22:07
하노이의 탑 코딩테스트 연습 - 하노이의 탑 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대�� programmers.co.kr 풀이 문제에서 n이 15이하로 주어졌기 때문에, 메소드 재귀 호출을 이용해 문제를 풀어야겠다는 생각을 했다. 그리고, 문제 조건을 쭉 써본 결과 n에 대해 최소 이동 횟수는 2^n -1이 된다는 것을 파악했다. 우선, 최소 이동 횟수만큼 result 배열을 만들어 주었다. ( 0 : 원판을 가져온 기둥, 1 : 원판을 옮긴 기둥을 저장해야하기 때문에 2차원 배열) 그리고 이리저리 삽질을 한 것 같다. 재귀로 풀었지만 몇개 ..