[프로그래머스_Lv1] 2021 카카오 채용연계형 인턴십 > 숫자 문자열과 영단어

ybk·2025년 2월 12일
0

프로그래머스

목록 보기
237/245

Lv.1) 숫자 문자열과 영단어


문제 설명 📝


입출력 예시 📌

s결과
"one4seveneight"1478
"23four5six7"234567
"2three45sixseven"234567
"123"123

코드 풀이 💡

def solution(s):
    words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
    word = ''
    answer = ''
    i = 0

    while i < len(s):
        if s[i].isdigit(): 
            answer += s[i]
            i += 1
            continue

        word += s[i]  
        if word in words:  
            answer += str(words.index(word))
            word = ''  
        i += 1

    return int(answer)

🔍 코드 설명

  • 문자열 s를 기준으로 숫자는 바로 answer안에 넣어주고 그렇지 않으면 word 안에 넣어서 숫자 영단어가 완성되면 그 때 숫자로 바꿔주고 word는 초기화 되는 과정으로 코드를 작성하였습니다.

다른 사람의 풀이 ✨

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))

    return int(s)

✅ 다른 풀이의 특징

  • s.replace()를 활용하여 영단어를 숫자로 변환합니다.
  • words 리스트를 이용하여 문자열 s 안에 존재하는 영단어가 있으면 그 단어를 숫자로 치환합니다. => 문자열이 연속적으로 연결되어 있어도 변환이 적용된다!!!

🔗 프로그래머스 문제 링크

profile
개발자 준비생~

0개의 댓글

관련 채용 정보