문제
https://school.programmers.co.kr/learn/courses/30/lessons/81301
설계
- Hash Map 으로 접근했다. 하드코딩으로 생성했는데 "조금 더 쉬운방법이 있지 않을까?" 하는 생각이 들었다.
- 마지막에 int 형으로 반환하는 과정에서 조금 애먹었다.
import copy
def solution(s):
# Hash Map 생성
data = {"zero": 0, "one": 1, "two": 2, "three": 3, "four": 4,
"five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9,
"0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5,
"6": 6, "7": 7, "8": 8, "9": 9}
n = len(s)
numbers = []
start, end = 0, 1 # Pointer 개념
while end <= n:
word = s[start:end]
if word in data:
numbers.append(data[word]) # data의 value를 추가해준다.
end += 1
start = copy.deepcopy(end-1)
else:
end += 1
answer = ""
for number in numbers: # 문자열로 결합
answer += str(number)
return int(answer) # 정수로 반환
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 폰켓몬 (0) | 2022.08.15 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2022.08.14 |
[프로그래머스] 체육복 (0) | 2022.08.12 |
[프로그래머스] [1차] 다트 게임 (0) | 2022.08.11 |
[프로그래머스] 없는 숫자 더하기 (0) | 2022.08.10 |