728x90
프로그래머스의 Lv. 1 코딩 테스트 연습문제의 파이썬 풀이 입니다.
숫자 문자열과 영단어 문제
문제 설명
제한사항
입출력 예 및 설명
숫자 문자열과 영단어 문제 풀이 아이디어
one, two와 같이 문자열로 표현한 것을 숫자 1,2로 변환해야 하는 문제 입니다.
replace 함수를 써서 문자열을 숫자 문자로 변경한 뒤에 숫자형 자료형으로 리턴하면 됩니다.
숫자 문자열과 영단어 문제 풀이 코드
def solution(s):
s=s.replace("zero", "0")
s=s.replace("one","1")
s= s.replace("two", "2")
s=s.replace("three","3")
s=s.replace("four","4")
s=s.replace("five","5");
s=s.replace("six", "6");
s=s.replace("seven", "7");
s=s.replace("eight", "8");
s=s.replace("nine", "9");
answer = int(s)
return answer
함수 입력값으로 들어온 문자열을 replace를 이용해서 변환합니다. replace 함수는 문자열 내에 있는 모든 값을 바꿔주는 동작을 수행하므로 첫번째 라인이 수행되면 모든 zero의 값이 문자 0으로 바뀝니다. "nine"까지 replace 수행 후 숫자형으로 바꿔서 return 합니다.
for문과 딕셔너리를 사용하면 좀 더 심플하게 코드를 작성할 수 있습니다.
def solution(s):
answer = []
dict_num = {
"zero":"0",
"one":"1",
"two":"2",
"three":"3",
"four":"4",
"five":"5",
"six":"6",
"seven":"7",
"eight":"8",
"nine":"9"
}
for word in dict_num.items():
s = s.replace(word[0], word[1])
answer = int(s)
return answer
key를 문자열 값으로 하고 value를 숫자값으로 한 딕셔너리를 생성합니다. 이때 value도 문자열로 넣어줘야지 마지막에 정수형으로 형변환이 정상적으로 이루어집니다. items()를 이용하여 key,value 한 쌍을 불러오고 key를 value로 바꿔주도록 replace 함수를 사용합니다.
이상 프로그래머스 숫자 문자열과 영단어 문제를 해결하는 방법을 알아보았습니다.
728x90
728x90
LIST
Comment