알고리즘 문제 풀이: 파이썬/Programmers

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

hueco 2021. 7. 14.

 

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/81301

 

프로그래머스

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

programmers.co.kr

 

내 풀이:

 

Review:

 replace() 함수는 해당 문자열을 복사하고 부분 문자열 old를 전부 new로 치환하여 리턴한다. 이 때문에 기존 문자열의 변경이 필요하다면 해당 문자열에 참조시켜야 치환된 결과가 반영된다. 파이썬의 sort()와 sorted()의 차이점을 생각해보면 이 부분을 좀 더 명확하게 이해할 수 있을 것 같다.

 

Idea:

 입력값인 문자열에는 숫자와 문자로 구성된 숫자가 주어지거나 숫자로만 구성된 문자열이 주어진다. 해당 문자열이 의미하는 숫자를 리턴하면 되는 문제이다.

먼저 해당 문자열이 숫자로만 구성된 문자열인지 확인한다. 숫자로 구성된 문자열이면, 타입 변환후 리턴한다.

그 다음으로 숫자와 문자로 구성된 문자열이라면, 미리 선언한 딕셔너리를 이용해 문자열에 해당하는 숫자를 기존 문자열에서 대체한다. 반복문을 통해 위의 과정이 종료된 후에 문자열을 타입 변환후 리턴하면 끝.

 
 

댓글