문제 링크 (https://programmers.co.kr/learn/courses/30/lessons/81301)
인자로 받은 문자열에 존재하는 영단어를 대응되는 숫자로 바꾸어 원래 숫자를 완성해주면 된다.
인자로 받은 문자열을 한 글자씩 반복하며 isdigit 함수를 통해 숫자인지 아닌지 확인한다. 숫자가 아니면(문자면) while문을 통해 zero ~ nine 중 하나의 단어가 될 때까지 임시 문자열(tmp)에 문자를 이어 붙인다. 문자열이 완성되면 대응되는 숫자를 정답 문자열(str)에 이어 붙인다. while문이 끝나고 i를 감소시키지 않으면 문자를 건너뛰므로 주의!
문자열의 길이만큼 반복이 끝난 후 stoi를 통해 숫자로 이루어진 문자열 str을 정수로 변환한다.
[소스코드]
'ALGORITHM > programmers' 카테고리의 다른 글
[프로그래머스 Level 2] 메뉴 리뉴얼 (C++) (0) | 2022.03.31 |
---|---|
[프로그래머스 Level 2] 단체사진 찍기 (C++) (0) | 2022.03.31 |
[프로그래머스 Level 1] 신규 아이디 추천 (C++) (0) | 2021.10.19 |