정사각형으로 만들기 - Programmers
프로그래밍을 하다 보면 문제 자체보다도 그 문제를 해결해 나가는 과정에서 더 많은 것을 배우는 경우가 많습니다. 이번 포스팅에서는 제가 직접 겪었던 시행착오를 공유하고자 합니다.문제는 다음과 같았습니다.📌 문제 설명정수형 2차원 배열 arr이 주어질 때,행(row)의 수가 더 많다면: 각 행의 끝에 0을 추가하여 열(column)의 수를 행 수와 같게 만든다.열(column)의 수가 더 많다면: 행을 추가하여 행의 수를 열 수와 같게 만든다.결과적으로, 정사각형 형태의 2차원 배열로 만들어 반환하는 문제입니다.예를 들어,arr = { {1, 2, 3}, {4, 5, 6}}는 행이 2, 열이 3이므로 행을 하나 더 추가하여 아래와 같은 형태로 만들어야 합니다.result = { {1, 2..
정수를 나선형으로 배치하기 - Programmers
🔎 문제 설명양의 정수 n이 주어졌을 때,1부터 n^2까지의 숫자를 시계방향 나선형으로 n x n 배열에 채워야 합니다.예를 들어 n = 4라면 다음과 같이 채워져야 합니다:[ [ 1, 2, 3, 4], [16, 17, 18, 5], [15, 24, 19, 6], [14, 13, 12, 7] ] 💡 먼저 직접 써보았습니다문제를 처음 봤을 땐 조금 막막했지만, 실제로 손으로 배열을 따라가며 인덱스를 그려보았습니다.00 -> 01 -> 02 -> 03 ↓ 13 -> 23 -> 33 ↓ ↑ 32 -> 31 -> 30 ↓ 20 -> 10 → ↓ 11 -> 12 -> 22 -> 21 위처럼 시계방향으로 돌면서 한 칸씩 숫자를 채우는 형태입니다.중복해서 방문하지 않도록 경계를 점점 줄여가면 되겠다는 생각이 들었..