Algorithm/Programmers
-
[프로그래머스][월간코드챌린지 시즌1] 삼각 달팽이Algorithm/Programmers 2020. 11. 6. 16:20
위 예시 그림처럼 숫자를 삼각형으로 순환하며 배열에 삽입하는 문제이다. 저 그림을 배열에 넣기 쉽게 바꾸면 아래처럼 된다. 1) n = 4 1 2 9 3 10 8 4 5 6 7 2) n = 5 1 2 12 3 13 11 4 14 15 10 5 6 7 8 9 switch문에서 아래(0), 오른쪽(1), 위(2) 이렇게 세 방향을 dir 변수로 설정해주고, 각 dir에 맞게 배열을 채워넣는다. 한 방향으로 수를 채워넣는 횟수는 n, n-1, n-2 ... 1씩 줄어들기 때문에 반복문은 각 방향에 대해 아래와 같이 설정한다. for(int i = 0; i < n; i++){ for(int j = i; j < n; j++){ ... } } arr[x][y]에서 i) 아래(0) 방향으로 갈 때 : x는 1씩 증가..