문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/81301
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
function solution(s) {
const numbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
numbers.forEach((number,index)=> {
while(s.includes(number)){
s = s.replace(number, index);
}
});
return Number(s);
}
회고
처음에 while문을 생각하지 않고, if 조건문으로 그냥 썼더니 올바르게 동작하지 않았다.
if 는 조건이 true일 때 한 번만 실행되기 때문이다. 따라서 문자열 s에 숫자 단어가 여러 번 포함되어 있을 경우, 한 번만 치환이 이루어지고 반복적인 치환이 일어나지 않게 된다.
'알고리즘' 카테고리의 다른 글
[프로그래머스] Lv 1. 신규 아이디 추천 - Javascript 풀이 (0) | 2025.01.11 |
---|---|
[프로그래머스] Lv 1. 신고 결과 받기 - Javascript 풀이 (0) | 2025.01.11 |
[프로그래머스] Lv 1. 성격 유형 검사하기 - Javascript 풀이 (0) | 2025.01.08 |
[프로그래머스] Lv 1. - 개인정보 수집 유효기간: Javascript 풀이 (1) | 2025.01.08 |
[프로그래머스] Lv 1. - 가장 많이 받은 선물 : Javascript 풀이 (0) | 2025.01.05 |