본문 바로가기
Algorithm/구현

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

by HANNI하니 2023. 5. 18.

사용 언어 - Python3

문제 - 숫자 문자열과 영단어

 

프로그래머스

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

programmers.co.kr

 

정답

단순 구현 (정답 맞춘 여부 X)

alpha라는 리스트를 만든다.

# 오답

alpha 값이 s 안에 있거나 인덱싱 값이 있다면 인덱싱 값으로 추가해주는 형태로 작성

=> 테스트 케이스는 모두 통과되었으나, 실제 제출시 오답

 

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

    for i in range(0,10):
        if alpha[i] in s or str(i) in s:
            answer += str(i)

    if answer[0] == "0":
        return print("")
    
    return int(answer)

# 정답

enumerate(alpha)를 활용하여 리스트와 값을 둘다 한꺼번에 묶어서 뽑는다.

s.replace(a,str(i) s에서 문자열 값을 str(i) 인덱스 값으로 바꿔준다.

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

    for i,a in enumerate(alpha):
        if a in s:
            s = s.replace(a,str(i))

    return int(s)

 

레퍼런스

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글