티스토리 뷰
📚 문제
제한 사항
- 1 ≤ s의 길이 ≤ 50
- s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다.
- return 값이 1 이상 2,000,000,000 이하의 정수가 되는 올바른 입력만 s로 주어집니다.
입력 예시 1
"one4seveneight"
출력 예시 1
1478
입력 예시 2
"23four5six7"
출력 예시 2
234567
입력 예시 3
"2three45sixseven"
출력 예시 3
234567
입력 예시 4
"123"
출력 예시 4
123
🧑🏻💻 풀이 과정
- 인덱스의 숫자와 일치하는 문자 배열(
alphabets
)을 만들자. ('zero'(0), 'one'(1), 'two'(2)...) enumerate
를 이용해서 문자 배열의 인덱스와 문자를 반복하며 꺼내오자.- 입력받은
s
의 문자와 일치한다면,s
의 문자를 인덱스로replace
하자.
def solution(s):
alphabets = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
for idx, alphabet in enumerate(alphabets):
if alphabet in s:
# 입력받은 문자열의 단어를 숫자로 바꾼다. (one -> str(1))
s = s.replace(alphabet, str(idx))
return int(s)
# 테스트 코드입니다.
print(solution("one4seveneight"))
print(solution("23four5six7"))
print(solution("2three45sixseven"))
print(solution("123"))
'알고리즘' 카테고리의 다른 글
[algorithm] 백준 14912 - 숫자 빈도수 (파이썬) (0) | 2022.07.08 |
---|---|
[algorithm] 프로그래머스 - 더 맵게 (파이썬) (0) | 2022.07.06 |
[algorithm] 프로그래머스 - 가운데 글자 가져오기 (파이썬) (0) | 2022.07.04 |
[algorithm] 프로그래머스 - 이상한 문자 만들기 (파이썬) (0) | 2022.07.03 |
[algorithm] 백준 2847 - 게임을 만든 동준이 (파이썬) (0) | 2022.07.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Spring
- 문자열
- MySQL
- 자료구조
- 북클럽
- kotlin
- 릿코드
- 노마드코더
- Algorithm
- 리팩토링
- 노마드
- webflux
- Real MySQL
- 인프런
- 스프링부트
- leetcode
- 정렬
- 김영한
- 구현
- 스프링 부트
- 코틀린
- 그리디
- 데이터베이스
- 코테
- spring boot
- 알고리즘
- 파이썬
- mysql 8.0
- 백준
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함