Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- sentiment analysis
- 석사
- 대학원
- 수기
- word embedding
- 품사태깅
- Classification Task
- Word2Vec
- naver movie review
- CUDA
- 자연어처리
- 우울증
- NLP
- pytorch
- 인공지능
- 전처리
Archives
- Today
- Total
슬기로운 연구생활
[프로그래머스] 키패드 누르기 본문
* 문제
programmers.co.kr/learn/courses/30/lessons/67256
* 문제 풀이
- 첫째, 1,4,7번을 눌렀을 경우 왼손을 사용하고 3,6,9번을 눌렀을 경우 오른손을 사용한다.
- 둘째, 2,5,8,0을 눌렀을 경우 왼손의 마지막 위치, 오른손의 마지막 위치, 눌러야 하는 위치를 사용해 거리 값을 계산한다.
- 셋째, 거리 값은 각 위치마다 x,y 좌표를 부여해서 값을 계산한다.
- 넷째, 좌측 거리 값이 가까운 경우 좌측, 우측 거리 값이 가까운 경우 우측, 값이 같은 경우는 자주 사용하는 손위치를 조건문으로 사용해 해결한다.
* 생각
- 2020 카카오 인턴쉽 문제이고 문제가 길어서 약간 당황했다. 그래도 잘 읽어보니 그리 어려운 문제가 아니라 수월하게 풀었다.
- 핵심은 distance 값을 어떻게 구하냐 인 것 같다. xy 좌표로 변환해서 구한 것이 핵심이다.
* 코드
def distance(now, left, right):
position_dic = {"*":[1,1], "0":[2,1], "#":[3,1], "7":[1,2], "8":[2,2], "9":[3,2], "4":[1,3], "5":[2,3], "6":[3,3], "1":[1,4], "2":[2,4], "3":[3,4]}
now_xy = position_dic[now]
left_xy = position_dic[left]
right_xy = position_dic[right]
left_distance = abs(left_xy[0] - now_xy[0]) + abs(left_xy[1] - now_xy[1])
right_distance = abs(right_xy[0] - now_xy[0]) + abs(right_xy[1] - now_xy[1])
return left_distance, right_distance
def solution(numbers, hand):
left_position = "*"
right_position = "#"
answer = ""
for i in range(0, len(numbers)):
number = str(numbers[i])
if number in "147":
left_position = number
answer += "L"
elif number in "369":
right_position = number
answer += "R"
elif number in "2580":
left_distance, right_distance = distance(str(numbers[i]), left_position, right_position)
if left_distance < right_distance:
left_position = number
answer += "L"
elif left_distance > right_distance:
right_position = number
answer += "R"
elif left_distance == right_distance:
if hand == "left":
left_position = number
answer += "L"
elif hand == "right":
right_position = number
answer += "R"
return answer
'슬기로운 코테 생활' 카테고리의 다른 글
[프로그래머스] 하샤드 수 (0) | 2020.12.20 |
---|---|
[프로그래머스] 최대공약수와 최소공배수 (0) | 2020.12.18 |
[프로그래머스] 정수 제곱근 판별 (0) | 2020.12.15 |
[프로그래머스] 이상한 문자 만들기 (0) | 2020.12.11 |
[프로그래머스] 약수의 합 (0) | 2020.12.10 |
Comments