https://school.programmers.co.kr/learn/courses/30/lessons/81301
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
카카오 인턴쉽 문제중 하나이다.
영단어를 숫자로 바꾸는 문제 ex) one4seveneight == 1478
문제를 보고 dict를 사용하여 풀 수도 있겠다라고 생각했는데, 그냥 난 list를 이용하여 풀었다.
def solution(s):
answer = 0
s=list(s)
num = ['zero','one','two','three','four','five','six','seven','eight','nine']
arr = [] # 문자인 경우 하나씩 받아줌
lst = [] # 최종 결과값을 넣는 곳
for i in range(len(s)):
if ord('a')<=ord(s[i])<=ord('z'):
arr.append(s[i])
string = ''.join(arr) #arr을 문자화 시켜 num 안에 있는지 확인 시켜줌
if string in num:
lst.append(str(num.index(string)))
arr = []
else:
lst.append(s[i])
answer = int(''.join(lst))
return answer
print(solution("one4seveneight"))
print(solution("23four5six7"))
print(solution("2three45sixseven"))
print(solution("123"))
'Algorithm > programmers' 카테고리의 다른 글
programmers 크레인 인형뽑기 게임 (0) | 2022.08.09 |
---|---|
programmers 키패드누르기 (1) | 2022.08.03 |
programmers 신규 아이디 추천 (0) | 2022.07.28 |
programmers 신고 결과 받기 (0) | 2022.07.26 |
프로그래머스: 굿스타터 스킬레벨체크1(python) (0) | 2022.07.26 |
댓글