2021 카카오 채용연계형 인턴쉽 문제풀기

표상우·2021년 12월 25일
0
post-thumbnail

알고리즘 공부를 하면서 programmers라는 사이트에 코딩테스트 연습을 풀던 도중 2021 카카오 채용연계형 인턴쉽에 나왔던 문제가 있어서 호기심에 풀어 보았다.

문제 설명

문제 풀이

Solution

def solution(s):
    answer = ''
    dic = {
        '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() == True:
            answer += i
        else:
            tmp += i
            
        if tmp in dic.keys():
            answer += dic[tmp]
            tmp = ''
            
    return int(answer)

문자는 숫자로 숫자는 숫자 그대로 두어서 입력으로 문자와 숫자가 섞여서 입력되어도 숫자만 출력되도록 하는 것이 문제이다. 주요 알고리즘은 입력안에서 문자와 숫자를 구분하는 것인데 isdigit() 함수를 이용해서 문자와 숫자를 구별했다.

  • 0~9 문자와 숫자를 dictionary로 저장
  • isdigit() 함수로 문자인지 숫자인지 구별
  • 숫자면 answer에 더하기
  • 문자면 dictionary안에 있는 문자가 나올때 까지 문자를 완성한 후 해당 문자를 숫자로 바꾸어서 answer에 추가

i love kakao

0개의 댓글