오랑우탄의 반란
프로그래머스 | 숫자 문자열과 영단어 (Python3) 리스트, 딕셔너리 본문
반응형
오늘도 오랑이는 문제를 풉니다.
숫자 문자열과 영단어
풀이 과정
2021 카카오 채용연계형 인턴십 문제라길래 조금 쫄았지만 생각보다 개념적인 부분을 확실히 하고 있는지 확인하는 간단한 문제였습니다. 코드를 기깔나게 짜는 것도 언젠가는 중요하겠지만 뭐든 개념부터 확실하게 제대로 배웠는지가 우선인 것 같습니다.
하지만 딕셔너리 작성이 귀찮았던 오랑이는 리스트로 문제를 풀었습니다.
리스트의 값에 대해서, s에 포함된 경우 s의 문자를 해당 인덱스값으로 교체해주는 코드입니다.
def solution(s):
num = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
for i in num:
if i in s:
s = s.replace(i, str(num.index(i)))
return int(s)
위 코드를 if 문 없이 좀 더 간단하게 적으면 아래와 같습니다.
런타임에 큰 차이는 없었습니다.
for i in range(len(num)):
s = s.replace(num[i],str(i))
return int(s)
최종 코드
딕셔너리 사용이라는 문제 의도를 파악한 모범 답안은 아래와 같습니다.
딕셔너리의 각 key 와 value 에 대해 s에 들어있는 key를 value로 교체하는 코드입니다.
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):
for key, value in num_dic.items():
s = s.replace(key, value)
return int(answer)
오랑우탄이 영어를 하고 오랑이가 코드마스터가 되는 그날까지~
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형
'PYTHON > 프로그래머스' 카테고리의 다른 글
프로그래머스 | 두 개 뽑아서 더하기 (Python3) SET함수 (0) | 2024.07.12 |
---|---|
프로그래머스 | K번째수 (Python3) (0) | 2024.07.12 |
프로그래머스 | 시저 암호 (Python3) 리스트, ORD, CHR (2) | 2024.07.11 |
프로그래머스 | 최소직사각형 (Python3) (0) | 2024.07.11 |
프로그래머스 | 삼총사 (Python3) (0) | 2024.07.10 |