[프로그래머스 / lv.1] 숫자 문자열과 영단어
in Problem Solving on Programers
날짜: 2021년 7월 12일
소요 시간: 18분 18초
카테고리: 문자열
태그: 레벨1
, 파이썬
입출력 예시
s | result |
---|---|
“one4seveneight” | 1478 |
“23four5six7” | 234567 |
“2three45sixseven” | 234567 |
“123” | 123 |
내가 적은 코드
def solution(s):
number = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
for i,j in enumerate(number):
s = s.replace(j, str(i))
return int(s)
풀이 과정
숫자를 나타내는 영문자를 리스트 number
에 저장한 뒤, enumerate
함수를 활용하여
숫자 값을 i
에 저장하고, 문자를 j
에 저장하여 반복한 다음, replace
함수를 활용해서 영어로 된 문자열과 숫자를 치환한다.
베스트 코드
def solution(s):
numbers=['zero','one','two','three','four','five','six','seven','eight','nine']
answer=""
for idx, num in enumerate(numbers):
if num in s:
s = s.replace(num, str(idx))
answer = s
return int(answer)
반성
if num in s
를 통해 예외처리를 해줘 시간을 줄인다는 발상을 하지 못했다.