2021 카카오 채용연계형 인턴십
문자를 숫자로 변환하는 문제입니다.
var num = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
var size = [4, 3, 3, 5, 4, 4, 3, 5, 5, 4];
숫자와 숫자의 길이에 해당하는 배열을 만들어서 단어와 매칭되는게 있는지 확인합니다.
있으면 해당 숫자를 결과값에 추가해주고 사이즈 -1만큼 이동합니다.
없다면 문자가 아닌 숫자가 있는 경우이므로 숫자를 결과값에 추가합니다.
반복작업이 완료되면 해당 결과값을 반환합니다.
function solution(s) {
var num = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
var size = [4, 3, 3, 5, 4, 4, 3, 5, 5, 4];
var answer = "";
var check;
for(var i=0; i<s.length; ++i){
check = false;
for(var j=0; j<10; ++j){
if(i+size[j]>s.length){
continue;
}
if(s.substring(i, i+size[j]) === num[j]){
i += size[j];
--i;
answer += String(j);
check = true;
break;
}
}
if(!check){
answer += s[i];
}
}
return Number(answer);
}
'알고리즘' 카테고리의 다른 글
[Java] SWEA - 원재의 메모리 복구하기 (0) | 2023.01.11 |
---|---|
[JavaScript] 프로그래머스 - 크레인 인형뽑기 게임 (0) | 2021.09.16 |
[C++] 프로그래머스 - 불량 사용자 (0) | 2021.09.14 |
[C++] 프로그래머스 - 셔틀버스 (0) | 2021.09.14 |
[C++] 프로그래머스 - 거리두기 확인하기 (0) | 2021.09.14 |