-
[Programmers] JavaScript 알고리즘 | Lv.0 문자열 반복해서 출력하기► JS Algorithm/Programmers 2024. 8. 13. 21:46반응형
🔒 문제 설명
문자열 str과 정수 n이 주어집니다.
str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.
🔒 제한사항
- 1 ≤ str의 길이 ≤ 10
- 1 ≤ n ≤ 5
🔒 입출력 예
입력 #1
string 5 출력 #1
stringstringstringstringstring
🔒 입출력 예 설명
입출력 예 #1
- "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다.
입출력 예 #2
- "abcdef123" 를 길이 3씩 잘라 배열에 저장한 ["abc", "def", "123"]를 return해야 합니다.
유의사항
- 입출력 예 #1의 경우 "abc1Addfggg4556b"를 길이 6씩 자르면 "abc1Ad", "dfggg4" 두개와 마지막 "556b"가 남습니다. 이런 경우 남은 문자열을 그대로 배열에 저장합니다.
🔐 solution of mine
Array() 생성자
Array.prototype.fill()
Array.prototype.join()
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on("line", function (line) { input = line.split(" "); rl.close(); // 입력을 받은 후 readline 인터페이스를 닫습니다. }).on("close", function () { const str = input[0]; const n = Number(input[1]); console.log(new Array(n).fill(str).join("")); });
🔐 solution of others
String.prototype.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(" "); rl.close(); // 입력을 받은 후 readline 인터페이스를 닫습니다. }).on("close", function () { const str = input[0]; const n = Number(input[1]); console.log(str.repeat(n)); });
🔐 solution of others
process.stdout.write()
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on("line", function (line) { input = line.split(" "); rl.close(); // 입력을 받은 후 readline 인터페이스를 닫습니다. }).on("close", function () { const str = input[0]; const n = Number(input[1]); for (let i = 0; i < n; i++) { process.stdout.write(str); } });
◆ 해설집 - console.log / process.stdout.write()
두개는 비슷하다
간단히 말하면,
결과값에 console.log는 줄바꿈을 하고, process.stdout.write()는 줄바꿈이 없다.
뜯어보면, console.log는 process.stdout.write()라는 함수 + '\n' 이라는 줄바꿈이 포함되어있다.
고로, 좀더 세밀한 작업을 원하면 process.stdout.write()를 사용할 수도 있다는 점.
🔐 solution of others
Array() 생성자
Array.from()
Array.prototype.keys()
Array.prototype.forEach()
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; let a = ""; rl.on("line", function (line) { input = line.split(" "); rl.close(); // 입력을 받은 후 readline 인터페이스를 닫습니다. }).on("close", function () { const str = input[0]; const n = Number(input[1]); Array.from(Array(n).keys()).forEach((v) => (a += str)); console.log(a); });
반응형'► JS Algorithm > Programmers' 카테고리의 다른 글
[Programmers] JavaScript 알고리즘 | Lv.0 특수문자 출력하기 (0) 2024.08.15 [Programmers] JavaScript 알고리즘 | Lv.0 배열 만들기 6 (0) 2024.08.13 [Programmers] JavaScript 알고리즘 | Lv.0 문자열 겹쳐쓰기 (0) 2024.08.12 [Programmers] JavaScript 알고리즘 | Lv.0 무작위로 K개의 수 뽑기 (0) 2024.08.12 [Programmers] JavaScript 알고리즘 | Lv.0 외계어 사전 (0) 2024.08.12