[프로그래머스] 숫자열과 영단어

2022. 8. 14. 21:55·Programming/알고리즘
728x90

1. 문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.

다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.

  • 1478 → "one4seveneight"
  • 234567 → "23four5six7"
  • 10203 → "1zerotwozero3"

이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.

참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.

 

 


2. python 코드

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

 


3. 풀이

1. 각 숫자와 영어 단어를 딕셔너리로 만들어준다.

2. for 문에서 num_dict.items()를 쓰면 key값, value값을 둘 다 얻을 수 있음.

    i[0]는 str의 영단어

    i[1]은 int로된 숫자

    받아올 문자열은 str타입이라 영단어를 숫자로 바꿔줄때 똑같이 str로 형변환 해줘야함

3. for문이 끝나면 str타입의 숫자가 출력되기 때문에 다시 int로 형변환 해서 return

 

저작자표시 (새창열림)
'Programming/알고리즘' 카테고리의 다른 글
  • [프로그래머스] 피자 나눠 먹기 (1)
  • [프로그래머스] 없는 숫자 더하기
  • [프로그래머스] 신규아이디 추천
  • [프로그래머스] 로또 최고 순위와 최저 순위
해치
해치
뭐라도 하자
  • 해치
    hi there
    해치
  • 글쓰기 관리자
  • 전체
    오늘
    어제
    • ALL (70)
      • Programming (62)
        • Python (14)
        • SQL (13)
        • 알고리즘 (35)
      • Framework (4)
        • Airflow (3)
        • Django (1)
      • Infra (3)
        • Docker (3)
        • Linux (0)
      • AWS (0)
      • Dashboard (1)
  • 블로그 메뉴

    • 링크

    • 인기 글

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    해치
    [프로그래머스] 숫자열과 영단어
    상단으로

    티스토리툴바