ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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);
    });

     

    반응형
Designed by Tistory.