[문제 설명]
- 상하좌우 4가지 방향으로만 이동 가능. 이동 가능 거리는 1
- 1 4 7 을 입력할때는 왼손 엄지, 3 6 9 는 오른 엄지
- 2580 입력할때는 키패드에서 가까운 손. 거리 같으면 오른손잡이는 오른손 왼손잡이는 왼손
- 순서대로 누른 번호가 담긴 배열 numbers[], 왼손잡이 인지 오른손 잡이인지 나타내는 문자열 hand[]
- 각 번호를 누른 엄지 손가락이 왼손인지 오른손인 지를 나타내는 문자열을 리턴하는 함수 작성.
[제한사항]
- numbers 배열크기는 1이상 1,000 이하
- numbers 배열 원소 값은 0 이상 9 이하
- hand[]는 "left" 또는 "right" 이다.
- 왼손 엄지는 L, 오른손 엄지는 R 리턴.
[입출력 예]
[내 풀이]
- 편의를 위해 그림 가져왔다. 어려운건 없을듯! 풀어봅시다
- 가장 큰 문제는 2580이 나왔을때 가장 가까운 손가락이 어디로 가냐 인데.. 좌표로 처리하면 될거 같은데 숫자를 좌표로 바꾸는게 더 걸리지 않을까 싶다.
약간 이렇게.. 물론 y 좌표가 음수지만 양수로 표현 했음 어차피 거리만 구할거니 괜찮음!
주의해야 될점은
cal_distance 부분에서도 꼭 현재 왼손 오른손 위치를 갱신 시켜야 한다는 것이다.. 이것때매 엄청 애먹었음.
[공부]
'프로그래머스 코딩테스트 연습 Lv1' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 - 모든문제 Lv1 [ 음양더하기 ] (0) | 2021.06.12 |
---|---|
프로그래머스 코딩테스트 연습 - 모든문제 Lv1 [ 포켓몬 ] (0) | 2021.06.08 |
프로그래머스 코딩테스트 연습 - 모든문제 Lv1 [ 신규 아이디 추천 ] (0) | 2021.06.03 |
프로그래머스 코딩테스트 연습 - 모든문제 Lv1 [ 체육복 ] (0) | 2021.05.31 |
프로그래머스 코딩테스트 연습 - 모든문제 Lv1 [ 완주하지 못한 선수 ] (0) | 2021.05.31 |