백준 11721번 열 개씩 끊어 출력하기: 문자열 구간 나누기
열 글자씩 자르고 나머지를 붙입니다
문자열 길이를 10으로 나눈 몫은 온전히 열 글자를 출력할 횟수이고 나머지는 마지막 줄에 남을 글자 수입니다.
시작 위치 idx를 0으로 두고 substring(idx, idx + 10)으로 열 글자를 가져와 줄바꿈을 붙인 뒤 idx를 10만큼 옮깁니다. 반복이 끝나면 뒤에 남은 m글자를 이어 붙입니다. 길이가 10의 배수라면 마지막 구간은 빈 문자열입니다.
당시 제출 코드
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();
}
}