Blog

백준 11721번 열 개씩 끊어 출력하기: 문자열 구간 나누기

열 글자씩 자르고 나머지를 붙입니다

문자열 길이를 10으로 나눈 몫은 온전히 열 글자를 출력할 횟수이고 나머지는 마지막 줄에 남을 글자 수입니다.

시작 위치 idx를 0으로 두고 substring(idx, idx + 10)으로 열 글자를 가져와 줄바꿈을 붙인 뒤 idx를 10만큼 옮깁니다. 반복이 끝나면 뒤에 남은 m글자를 이어 붙입니다. 길이가 10의 배수라면 마지막 구간은 빈 문자열입니다.

당시 제출 코드

Java
import java.io.*;

class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringBuilder sb = new StringBuilder();

        String line = br.readLine();
        int n = line.length() / 10;
        int m = line.length() % 10;

        int idx = 0;
        for (int i = 0; i < n; i++) {
            String s = line.substring(idx, idx + 10);
            idx += 10;
            sb.append(s).append("\n");
        }
        String sl = line.substring(line.length() - m);
        sb.append(sl);
        bw.write(String.valueOf(sb));
        bw.flush();
    }
}