728x90
코딩테스트 연습 - 숫자 문자열과 영단어 | 프로그래머스 스쿨 (programmers.co.kr)
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
바뀌어진다는 말을 보면 자동적으로 replace 함수가 떠오른다. 습관도 생기는 걸 보니 나름 좀 풀어보긴 한듯 ㅎㅎ;
팀원 한 분과 페어프로그래밍을 통해 직접 풀어보았는데,
dictionary의 key, value 값을 이용한 함수 / list의 인덱스 값을 통한 함수
를 이용하는 방법을 생각해냈다.
사실상 팀원 분이 다 하신 함수식이어서.. 이번 테스트는 거의 공부하다시피 한 듯 ㅎ
dictionary를 이용한 함수
def solution(s):
dic = {"zero": 0, "one": 1, "two": 2, "three": 3, "four": 4,
"five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9}
for key, value in dic.items():
s = s.replace(key, str(value))
return int(s)
list 이용한 함수
def solution(s):
words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
for i in range(len(words)):
s = s.replace(words[i], str(i))
# 인덱스 값을 문자열 i로 변환
return int(s)
'cording test' 카테고리의 다른 글
LV.1 피보나치 수 (2) | 2023.04.27 |
---|---|
삼총사 (0) | 2023.04.25 |
안전지대 (3) | 2023.04.24 |
Lv.1 영어가 싫어요! (0) | 2023.04.20 |
위클리 테스트 : 부족한 금액 계산하기(max함수) (2) | 2023.04.19 |