본문 바로가기
프로그래머스/Python

[프로그래머스] 숫자 문자열과 영단어 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 8.
728x90
반응형

 

 

프로그래머스

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

programmers.co.kr

 

1. 문제 설명

2. 풀이과정

  1. 각 영단어를 숫자로 바꾸기 위해 각 영단어를 미리 리스트로 저장해 둔다. 저장할 때 각 단어를 각 인덱스로 바로 바꿔주기 위해 0부터 저장한다. words = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
  2. 원하는 지점에서 멈추기 위해 무한 반복문을 사용하여 구현한다. while (True)
  3. 각 영단어의 원소를 하나씩 추출한다. for i in words
  4. 만약 추출한 연단어가 문자열에 있으면 if (i in s)
  5. 해당 영단어를 문자열 형태의 인덱스 값으로 바꿔준다. s = s.replace(i, str(words.index(i)))
  6. 만약 문자열이 모두 숫자로만 구성되었다면 종료한다. if (s.isnumeric()): break
  7. 문자열을 정수로 바꾸어 정답에 저장한다. answer = int(s)
반응형

3. 소스코드

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

    while (True):
        for i in words:
            if (i in s):
                s = s.replace(i, str(words.index(i)))
            
        if (s.isnumeric()):
            break
            
    answer = int(s)
    
    return answer
728x90
반응형