코딩 테스트 문제를 풀다가 결과를 출력할 때 두 자릿수이면 '01', '05'와 같이 출력하라는 문제가 나왔습니다. 이처럼 자릿수에 맞춰 0을 추가해서 출력하는 여러 방법입니다.
#방법 1
입력된 숫자를 문자열로 변환해 자릿수를 구합니다. 그 후 목표하는 자릿수에서 부족한 만큼 '0'을 repeat()을 통해 반복시켜 추가합니다.
const N = 3; // N은 자릿수를 의미합니다.
function sol(num) {
let ret = num + '';
if(ret.length < N) {
return '0'.repeat(N - ret.length) + ret;
}
return ret;
}
console.log(sol(5)); // 005
console.log(sol(13)); // 013
#방법 2
방법 1과 유사한 방법이지만 '0'을 미리 자릿수만큼 반복시켜 추가한 다음 substring()을 통해 원하는 자릿수만큼 잘라낸다는 차이점이 있습니다.
const N = 3; // N은 자릿수를 의미합니다.
function sol(num) {
const ret = '0'.repeat(N) + num;
return ret.substring(ret.length - N);
}
console.log(sol(5)); // 005
console.log(sol(13)); // 013
#방법 3
방법1, 2와 다르게 JS의 함수 padStart()를 활용하는 방법입니다. 첫 번째 인자로 원하는 자릿수를 넣고, 두 번째 인자에 빈자리를 채울 문자열을 넣어주면 됩니다.
const N = 3; // N은 자릿수를 의미합니다.
function sol(num) {
return (num+'').padStart(N,'0');
}
console.log(sol(5)); // 005
console.log(sol(13)); // 013
기억할 수 있다면 padStart()를 활용하는 것이 좋다고 생각합니다.
'알고리즘&코테' 카테고리의 다른 글
| [자료구조] 선형 큐에 대한 코드 오류와 이해 with. JS (0) | 2024.12.31 |
|---|---|
| [코테 꿀팁] BFS 사용 중 시간 초과에 걸린다면? with. JS, 백준 12851번 (0) | 2024.12.17 |
| [알고리즘] 등차수열의 합, 등비수열의 합, 시그마 계산 (0) | 2024.11.22 |
| [알고리즘] 에라토스테네스의 체(소수 판별) (0) | 2024.11.21 |
| [알고리즘] 최대공약수(gcd), 최소공배수(lcm) (0) | 2024.11.20 |