자료구조, 알고리즘의 학습을 얼추 마쳐 코딩 테스트를 연습할 겸 프로그래머스 문제를 풀기로 하였다.
0단계 문제부터 푸는데 문제가 어렵지 않아서 정답률이 낮은 순으로 풀기로 결정했다.
정수를 나선형으로 배치하기 문제는 코딩 기초 트레이닝 - 0단계에서 정답률이 가장 낮다.
[프로그래머스] 정수를 나선형으로 배치하기
출처: 프로그래머스 코딩 테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/181832
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
이차원 배열을 나선형으로 접근하기 때문에 4가지 경우로 나눴다.
array[x][y]일 때,
- x 증가, y 고정: 아래로 움직임
- x 고정, y 증가: 오른쪽으로 움직임
- x 감소, y 고정: 위로 움직임
- x 고정, y 감소: 왼쪽으로 움직임
위 4가지 경우를 switch - case로 구분, for문을 돌려 문제를 풀었다.
해당 문제를 풀고 다른 사람들의 풀이를 보니 대부분 dx, dy를 이용했다.
해당 기술에 대해 학습 및 사용할 필요를 느꼈다.
해당 문제를 오랜 시간 고민하며 풀고 난 느낀점은 자료구조, 알고리즘만 아니라 여러 기술도 학습해야 한다는 것이다.
'Algorithm & PS > Problem Solving' 카테고리의 다른 글
백준 - 18405. 경쟁적 전염 (0) | 2024.06.19 |
---|---|
백준 - 2096. 내려가기 (0) | 2024.03.25 |
백준 - 12865. 평범한 배낭 (1) | 2024.01.31 |
백준 - 1080. 행렬 (0) | 2024.01.31 |
프로그래머스 - 연속된 부분 수열의 합 (0) | 2023.06.25 |