✏️기록하는 즐거움
article thumbnail

Link

 

11721번: 열 개씩 끊어 출력하기

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

www.acmicpc.net

 

문제

알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.

입력 > 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.
출력 > 입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.

| 예제 입력

BaekjoonOnlineJudge

| 예제 출력

BaekjoonOn
lineJudge

 

제출

const fs = require("fs");

const input =
  process.platform === "linux"
    ? fs.readFileSync("/dev/stdin").toString()
    : `BaekjoonOnlineJudge`;

let answer = "";

for (let i = 0; i < input.length; i++) {
  answer += input[i];

  if (i !== 0 && (i + 1) % 10 === 0) {
    answer += `\n`;
  }
}

console.log(answer);

 

풀이과정

input의 인덱스가 되는 i가 10의 배수일 때는 answer에 줄바꿈을 넣어준다.

 

이외에도 slice를 사용하면 코드를 더 간단히 할 수 있다.

for (let i = 0; i <= input.length; i += 10) {
  console.log(input.slice(i, i + 10));
}

 

개념

String.prototype.slice()

  • 지정한 시작 인덱스부터 끝 인덱스를 제외하고 추출한 부분을 담는 새로운 문자열이 반환된다.

Comment

 

profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!