코딩테스트 연습
leetcode 코딩테스트 연습 - 1844. Replace All Digits with Characters (JavaScript)
citron031
2023. 7. 20. 10:25
지금까지 프로그래머스를 이용하여 코딩테스트 문제를 풀어왔는데, 이번에는 leetcode를 이용하기로 하였다.
영어로 되어 있어 영어 공부를 할수도 있고, 문제가 다양하며 제출한 정답의 런타임이나 메모리 사용량도 알려주는 장점이 있는 플랫폼이다.
이번에 풀어본 문제는 간단한 문제로 아스키 코드를 이용한 문제였다.
자바스크립트에서 아스키 코드의 사용은 다소 생소하였기에 (C언어에서는 문자열이 숫자처럼 계산되었던 기억이 있다) 검색을 통해서 String.fromCharCode()나 char.charCodeAt() 과 같은 메서드를 알아내었다.
/**
* @param {string} s
* @return {string}
*/
var replaceDigits = function(s) {
let answer = "";
for(let i = 0; i < s.length - 1; i += 2) {
const char = s[i];
const shift = parseInt(s[i + 1]);
const newChar = String.fromCharCode(parseInt(char.charCodeAt(0)) + shift);
answer += (s[i] + newChar);
}
if(s.length % 2 === 1) {
answer += s[s.length - 1];
}
return answer;
};
문자로 표현된 숫자를 연산할 때, 타입을 변환하는 것을 잊지 않도록 하자.