728x90
점수 : 1107 (+5)
테스트케이스 최대 소요시간 : 0.06ms
문제 요약 : 그냥 해당하는 문자열을 다 숫자로 바꿔주면 됨!
제출답안
let stringToNo = [['zero',0], ['one',1],['two',2],['three',3],['four',4],
['five',5],['six',6],['seven',7],['eight',8],['nine',9]] ;
function solution(s) {
stringToNo.forEach((ar)=> s = s.replaceAll(ar[0],ar[1]) ) ;
return s*1;
}
문제해설
//아래 배열이 함수 안쪽으로 들어가면 시간이 쬐ㅣㅣㅣ끔 더 소요됩니다. 이유는..
let stringToNo = [['zero',0], ['one',1],['two',2],['three',3],['four',4],
['five',5],['six',6],['seven',7],['eight',8],['nine',9]] ;
function solution(s) { //1107 (+5) 0.06ms
//위 변환용 배열을 순회돌면서 0번째 문자열에 해당하면 1번째 숫자로 바꿔줍니다.
stringToNo.forEach((ar)=> s = s.replaceAll(ar[0],ar[1]) ) ;
return s*1; //문자를 숫자로 변환해줍니다
}
마지막 문자열 -> 숫자 변환 방법은 여러가지가 있는데,
다른 사람의 풀이로 올라온 대표적인 두가지는 Number(s) 와 parseInt(s) 였다.
큰 차이는 없었지만 이 방법대로 하면 둘 다 최대 소요시간이 0.10ms를 넘어간다. 이유가 뭘까...?
728x90
'코테' 카테고리의 다른 글
[MySQL] 잡은 물고기의 평균 길이 구하기 (0) | 2024.03.24 |
---|---|
[MySQL] 한 해에 잡은 물고기 수 구하기 (0) | 2024.03.23 |
[JS] 덧칠하기 - 프로그래머스 (0) | 2024.03.17 |
[JS] 추억점수 _ 이걸 한줄로 쓴다고? (0) | 2024.03.13 |
[JS] 가장 많이 받은 선물_충격적인 얕은 복사 (0) | 2024.03.12 |
댓글