728x90
반응형
문제 설명
1. 왼손은 *, 오른손은 #에 위치한다.
2. 1 4 7은 왼손, 3 6 9는 오른손으로 누른다.
3. 2 5 8 0은 둘 중 가까운 손으로 누른다. 거리가 같은 경우 오른손잡이인지 왼손잡이인지에 따라 누른다.
4. 누르는 순서를 return하면 된다.
풀이 과정
1. 좌표를 통해 간단히 구현 가능하다.
2. 그런데 이중배열을 사용하지 않아도, 가로 거리와 세로 거리를 더해주면 된다.
3. 따로 구하는 이유는 세로 거리의 경우 어차피 0, 1의 차이밖에 나지 않기 때문이다.
4. 몇 가지 반례에 맞추어 조금만 추가하면 된다.
5. 구현하기는 쉽지만 생각해내지 못하는 경우 코드를 보고 이해하기 어려울 것이라 생각해서 최대한 설명을 자세히 적었고, 풀이를 쪼개서 진행하였다.
코드
반응형
'알고리즘 공부' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 - java (0) | 2021.06.25 |
---|---|
[프로그래머스] 소수 만들기 - java (0) | 2021.06.22 |
[백준 15486번] 퇴사2- java (0) | 2021.06.07 |
[백준 10775번] 공항 - java (0) | 2021.05.28 |
[백준 16953번] A -> B - java (0) | 2021.05.20 |