728x90
반응형
https://level.goorm.io/exam/159544/%ED%8F%B4%EB%8D%94-%ED%8F%B0-%EC%9E%90%ED%8C%90/quiz/1
구름LEVEL
구름LEVEL 문제를 풀이하고 부족한 부분을 보완하며 실력을 키워보세요. 구름LEVEL은 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입
level.goorm.io

# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
_, push = input(), input()
p, c = push[0], 0
key = {'1':'1.,?!', '2':'2ABC', '3':'3DEF', '4':'4GHI', '5':'5JKL', '6':'6MNO', '7':'7PQRS', '8':'8TUV', '9':'9WXYZ'}
answer = ''
for v in push[1:]:
if p == v:
c += 1
else:
answer += key[p][c%len(key[p])]
p, c = v, 0
answer += key[p][c%len(key[p])]
print(answer)
"""
몇번을 손코딩을 해보아도 답이 맞는데 왜 안될까 하고 질문을 남겼더니
데이터가 잘못들어가 있다고 하였다. 괜히 로직을 몇번을 수정했다..
문제에선 문자가 가장 작아야 된다고 하였으므로
같은 숫자를 몇번을 눌러도 반복해서 누른다고 가정하여야 한다.
ex) 11111 -> 1을 한번씩 눌렀다고 가정하고 1을 5번 만들수도 있고,
1을 5번 눌러 1 한개를 만들수도 있다.
그래서 key의 길이로 잘라서 몇번을 눌러도 키 범위내에 값만 들어가게 하였다.
"""728x90
반응형
'개발 > 문제풀이' 카테고리의 다른 글
| [구름레벨] '의좋은 형제' 파이썬 풀이 (0) | 2023.06.20 |
|---|---|
| [구름레벨] '피보나치 수' 파이썬 풀이 (0) | 2023.06.20 |
| [구름레벨] '구름 숫자' 파이썬 풀이 (0) | 2023.06.09 |
| [구름레벨] '뒤통수가 따가워' 파이썬 풀이 (0) | 2023.06.09 |
| 프로그래머스 '[1차] 프렌즈4블록' 파이썬 풀이 (0) | 2023.05.26 |
댓글