티스토리 뷰

📚 문제

제한 사항

  • 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"))
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함