주의! 본 게시글은 프로그래머스 '키패드 누르기' 문제에 대한 중요 내용을 포함하고 있습니다. 풀기 전이시라면 이 점 참고해주시길 바랍니다!
키패드 누르기 문제(https://school.programmers.co.kr/learn/courses/30/lessons/67256)를 풀기 위해 내용을 읽어 보며 간단하다는 생각을 했다. 1,4,7은 무조건 왼쪽 3,6,9는 무조건 오른쪽이니 2,5,8,0만 신경 쓰면 된다고 생각했기 때문이다. 2,5,8,0은 현재 왼쪽 엄지 손가락과 오른쪽 엄지 손가락의 위치를 거리로 비교하여 가장 가까운 손가락이 누르면 되니깐 *버튼을 좌표 평면의 원점이라 생각하여 오른쪽으로 갈수록 x 좌표가 1 커지고 위로 갈수록 y 좌표가 1 커진다고 설정하여 일반적인 좌표 평면에서 거리를 구하는 공식인 유클리드 거리 공식으로 구하면 된다고 생각했다. 코드 실행은 정상적으로 통과했지만, 제출 후 채점하기에선 테스트 13부터 전부 틀리기 시작했다. 코테 문제를 다시 풀면서 답안 관련 구글링은 절대 하지 않겠다고 다짐했기에 하나하나 다시 뜯어봤지만 무엇이 문제인지 도저히 가늠조차 되지 않았다. 질문 목록에서 답을 얻을 수 있었는데 조건 중 가장 처음으로 나온 조건인 '엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다'가 그 해답이었다. 지금 돌아보면 수많은 사람들이 조건을 제대로 안 읽고 유클리드 거리로 구할 것을 예상했기에 이런 조건을 주었다는 생각이 든다. 이번 기회를 통해 조건은 더욱더 꼼꼼히 읽어야겠다는 생각을 했으며
조건에서 상하좌우로만 이동할 수 있다면, 그 문제는 맨해튼 거리를 이용해 풀라는 것이구나를 깨닫게 되어서 좋았다.
제에발 조건 좀 꼼꼼히 읽자
'TIL' 카테고리의 다른 글
TIL - 20221006 (비트 연산자) (0) | 2022.10.06 |
---|---|
TIL - 20221005 (continue 정리) (1) | 2022.10.05 |
TIL - 20221003 (0) | 2022.10.03 |
TIL - 20221002 (JavaScript 특정 문자열 제거 정규 표현식) (0) | 2022.10.02 |
TIL - 20221001 (0) | 2022.10.01 |