1차 시도 잘못된 풀이
function solution(order) {
let cnt = 0;
for(let i=0; i<order.length; i++){
if(order[i]==='3') cnt+=1;
if(order[i]==='6') cnt+=1;
if(order[i]==='9') cnt+=1;
}
return cnt;
}
▶ if문이 중첩되지 않고 병렬로 실행되기 때문에, 예를 들어 23675인 경우
▶ 3과 6이 각각 포함되어 있으므로 카운팅을 2회 하여야 하지만, 숫자 3에 대하여 한번만 카운팅하게 된다.
▶ 매개변수 order의 타입이 number타입이므로 order을 문자열 타입으로 바꾼다.
2차시도
function solution(order) {
let cnt = 0;
let orderStr=order.toString() //order의 타입이 number이므로 문자열타입으로 변환한다.
for(let i=0; i<orderStr.length; i++){
if(orderStr[i]==='3') cnt+=1;
if(orderStr[i]==='6') cnt+=1;
if(orderStr[i]==='9') cnt+=1;
}
return cnt;
}
▶ for문을 이용해서 문자열 orderStr을 순회한다.
'프로그래머스(자바스크립트) > LV.0(자바스크립트)' 카테고리의 다른 글
문자열 정렬하기 → 배열을 이용한 sort() 정렬★ + 배열, 문자열 join() ★ (0) | 2023.03.01 |
---|---|
숫자찾기 → 문자열에서의 indexOf() ★★ (0) | 2023.03.01 |
피자나눠먹기(2) → 최소공배수 (0) | 2023.02.28 |
외계행성의 나이 → 배열 꼬아서 생각 (0) | 2023.02.27 |
인덱스 바꾸기 → 교환 메커니즘 ★★ (0) | 2023.02.27 |