자주 벨로그에 코딩테스트를 풀고 풀이를 남기자가 목표였는데
요 몇일 자잘하게 일들이 있었다.
티는 안나는데 꼭 해야하고 생각보다 신경을 꽤 써야하는 그런 일들..
하........
그래도 마음속의 숙제는 몇 개 해결한 기분이라 나쁘진 않다.
어쩌겠나. 현생도 살아야지! ㅠㅠ
아무튼, 자바스크립트 코딩테스트 문제를 풀어보았다.
프로그래머스 0단계 문자열 반복해서 출력하기
▶ 🗒️문제
문자열 str과 정수 n이 주어집니다.
str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
str = input[0];
n = Number(input[1]);
});
제한사항
1 ≤ str의 길이 ≤ 10
1 ≤ n ≤ 5
입출력 예
입력 #1
string 5
출력 #1
stringstringstringstringstring
(반복학습의 중요성)
다만, 출력을 봤을때 string을 5번 반복해서 나오게 해야 한다는 것인데.
str은 문자열, n은 숫자. 반복되어야 하는 숫자이므로...
뭔가 함수가 있을 것 같은데... 하는 생각이 계속 들었지만
지금 내가 뭘 알겠는가. 0단계 푸는 자바스크립트린이 인데..ㅋㅋ
자바에 익숙한 나는 for문을 먼저 생각 해 봤다.
let result = '';
for (let i = 0; i < n; i++) {
result += str;
}
사실 이것도 for문 좀 까먹어서 쓰느라 생각하는 시간을 가졌다..
반성.
중간 중간 애매하게 틀려서 계속 틀렸었다가 맞았었는데,
다른 사람 풀이를 보다가 유레카 외치는 함수를 알게됐다..
REPEAT.....
반복........
이걸 사용하면
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
str = input[0];
n = Number(input[1]);
console.log(str.repeat(n))
});
참나. 세상 편하게 한줄로 해결 할 수 있는 것이다.
이게 기본으로 들어가있다니 그것도 이게 뭔가 하는 단어도 아니고
걸음마 떼고있는 나도 한번에 보자마자 이해했다.
이걸 쓴 사람도 천재고, 머리 한대 맞은 느낌이였다.
물론 정답을 만드는 방법은 정말 많다.
다른 사람의 풀이를 보면서 공부하는게 꽤 큰 것 같다.
그나저나 오늘의 repeat 함수는 절대 잊지 않을 것 같다 당분간이라도..
기본으로 탑재해주셔서 감사...
나에게 코딩테스트는 날 테스트 하는 것 보다, 차근차근 공부하는 기분이다.
그래서 힘들거나 그렇진 않다.
매번 새로운 함수를 알아내가고 있어서 신기하다..
그래도 아직 0단계니까 이렇게 느낄 수 있겠지 ㅋㅋㅋ
자잘자잘한 현생의 일이 있어도 그래도 굳이 굳이 신경을 내서 한문제씩은 루틴마냥 풀어야 한다. 풀고싶다.
슬로우 스타터라도 한 발자국 씩 100일 걸으면 100걸음이 될 것 아닌가.
배워서 남주는 건 없다.
작심삼일로 돌아가는 일은 없도록 노력해보자.
나는 할 수 있다.