본문 바로가기
프로그래머스/Lv.1

2021 카카오 채용연계형 인턴십 > 숫자 문자열과 영단어 - Python

by 아찌방 2024. 11. 5.

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/81301

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

풀이 - 나의 생각

주어진 문자열에서

 

하나씩 추가하면서 가지고 있다가

 

단어가 되면, 이에 해당하는 값을 기록하는 방식으로 했다.

 

이렇게 하기 위해서는 answer을 문자열로 해야하는데

 

나중에 다른 사람들의 풀이를 보니

 

replace를 많이 사용한 것을 볼 수 있었다.

 

그래서 나도 딕셔너리를 사용하니까

 

주어진 문자열에 key값이 있으면

 

value값으로 replace하는 방식으로도 해봤다.

 

ps.

 

카카오인턴 코테 문제였다

 

코드

 

def solution(s):
    answer = ''
    nums = {
        "zero" : '0',
        "one" : '1',
        "two" : '2',
        "three" : '3',
        "four" : '4',
        "five" : '5',
        "six" : '6',
        "seven" : '7',
        "eight" : '8',
        "nine" : '9',
    }
    
    tmp = ''
    for i in s:
        if i.isdigit():
            answer+=str(i)
        else:        
            tmp+=i
        
        if tmp in nums:
            answer+=nums[tmp]
            tmp = ''
            
    return int(answer)

 

def solution(s):
    nums = {
        "zero" : '0',
        "one" : '1',
        "two" : '2',
        "three" : '3',
        "four" : '4',
        "five" : '5',
        "six" : '6',
        "seven" : '7',
        "eight" : '8',
        "nine" : '9'
    }
    
    for key, value in nums.items():
        s = s.replace(key, value)
        
            
    return int(s)

 

 

 

 

 

다음에 또 봐요

 

728x90