
주소: https://programmers.co.kr/learn/courses/30/lessons/81301
[ 문제 ]

[ 나의 귀여운 풀이 ]
def solution(s):
numdic = {"zero": '0', "one": '1', "two": '2', "three": '3', "four": '4', "five": '5', "six": '6', "seven": '7',
"eight": '8', "nine": '9'}
for i in numdic:
if s.find(i) > -1:
s = s.replace(i, numdic[i])
answer = int(s)
return answer
[ 다른 분들의 유려한 코드 ]
num_dic = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"}
def solution(s):
answer = s
for key, value in num_dic.items():
answer = answer.replace(key, value)
return int(answer)
[ 배운 것 ]
1. str.find(): str.find() 메소드는 찾고자 하는 문자열의 유무를 판별하는게 아니라 있을 경우 index, 없을 경우 -1을 return한다.
2. dictonary 자료형의 적절한 사용!
3. 혹시 replace 함수를 없는 문자열에 대해 사용했을 경우 에러를 띄울까봐 조건문으로 있는 문자열만 replace해줬는데, 그럴 필요가 없었다.
4. 칭찬할점! 다른 사람들의 이상적풀이(?)에 가까운 답을 작성했다!
꾸준히 열심히!
'Otter's [ 개발새발 ] > # 코딩테스트 - Programmers' 카테고리의 다른 글
| [Programmers 코딩테스트 연습_Lv1_Python] 내적 (0) | 2022.06.03 |
|---|---|
| [Programmers 코딩테스트 연습_Lv1_Python] [카카오 인턴] 키패드 누르기 (0) | 2022.06.03 |
| [Programmers 코딩테스트 연습_Lv1_Python] 신규 아이디 추천 (0) | 2022.05.31 |
| [Programmers 코딩테스트 연습_Lv1_Python] 로또의 최고 순위와 최저 순위 (0) | 2022.05.31 |
| [Programmers 코딩테스트 연습_Lv1_Python] 신고 결과 받기 (0) | 2022.05.30 |