반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/81301?language=javascript
2. 설명
먼저 알파벳과 숫자가 상응하는 객체 alpha를 만들어준다.
isNaN()는 해당 값의 타입이 number이면 false를, 아니면 true를 반환하는 메소드이다.
만약 s[i]가 숫자라면, 즉 !isNaN(s[i])가 true라면 리턴할 문자열인 answer에 s[i]를 더한다.
만약 s[i]가 문자라면 tempStr에 s[i]를 더한다.
만약 tempStr가 alpha의 key 목록에 있다면, alpha에서 key 값 tempStr(문자열)에 해당하는 value 값(상응하는 숫자)을 answer에 더해준다.
다음으로 올 문자열을 위해 tempStr을 빈 문자열로 바꿔준다.
3. 코드
function solution(s) {
var answer = "";
let alpha = {
'zero' : '0',
'one' : '1',
'two' : '2',
'three' : '3',
'four' : '4',
'five' : '5',
'six' : '6',
'seven' : '7',
'eight' : '8',
'nine' : '9'
}
let tempStr = '';
for(let i=0;i<s.length;i++){
if(!isNaN(s[i])){
answer = answer + s[i];
}
else{
tempStr += s[i];
if(tempStr in alpha){
answer = answer + alpha[tempStr];
tempStr = '';
}
}
}
return Number(answer);
}
반응형
'프로그래머스 > 구현' 카테고리의 다른 글
[구현] 프로그래머스 '2016년' - js (0) | 2022.09.26 |
---|---|
[수학] 프로그래머스 '숫자의 표현' - js (0) | 2022.09.26 |
[구현] 프로그래머스 '최대공약수와 최소공배수' - js (0) | 2022.09.19 |
[소수] 프로그래머스 '소수 찾기' - js (0) | 2022.09.19 |
[구현]프로그래머스 '부족한 금액 계산하기' - js (0) | 2022.09.16 |