코딩테스트
숫자 문자열과 영단어
서창호
2022. 1. 24. 23:52
https://programmers.co.kr/learn/courses/30/lessons/81301
코딩테스트 연습 - 숫자 문자열과 영단어
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자
programmers.co.kr
zero ~ nine 을 가지고 있는 리스트를 선언한 뒤, for loop을 돌면서 s 안의 해당 문자열을 대체하고 싶었는데....
string.replace() 함수가 기억이 안나서 C코드로 푼다는 생각으로 단순무식하게 풀었다...
python 기본 함수들에 좀 익숙해질 필요가 있다...
def solution(s):
answer = ""
idx = 0
while idx < len(s):
if s[idx].isdigit():
answer += s[idx]
idx += 1
elif s[idx:idx+4] == "zero":
answer += "0"
idx += 4
elif s[idx:idx+3] == "one":
answer += "1"
idx += 3
elif s[idx:idx+3] == "two":
answer += "2"
idx += 3
elif s[idx:idx+5] == "three":
answer += "3"
idx += 5
elif s[idx:idx+4] == "four":
answer += "4"
idx += 4
elif s[idx:idx+4] == "five":
answer += "5"
idx += 4
elif s[idx:idx+3] == "six":
answer += "6"
idx += 3
elif s[idx:idx+5] == "seven":
answer += "7"
idx += 5
elif s[idx:idx+5] == "eight":
answer += "8"
idx += 5
elif s[idx:idx+4] == "nine":
answer += "9"
idx += 4
return int(answer)