문제
알파벳 소문자와 대문자로 이루어진 단어가 주어졌을 때, 10글자씩 끊어서 한 줄에 출력하라.
입력
첫째 줄에 단어가 주어진다 (길이 1 이상 100 이하).
출력
10글자씩 끊어서 한 줄에 출력한다. 마지막 줄은 10글자 미만일 수 있다.
예제
| 입력 | 출력 |
|---|---|
BaijhoovYHEjfhBYLMv | BaijhoovYH EjfhBYLMv |
풀이
문자열을 substring으로 10글자씩 잘라 출력한다.
- 문자열 길이를 10으로 나눠 완전한 10글자 그룹의 수를 구한다
- 각 그룹을
substring(index, index+10)으로 추출하여 출력한다 - 나머지 글자(길이 % 10)는 마지막에 별도로 출력한다
핵심 아이디어: 완전한 10글자 그룹과 나머지를 분리하여 처리한다. Java의 substring으로 간결하게 구현 가능하다.
코드
import java.io.*;
public class Day354BOJ11721열개끊어출력 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int n = s.length() / 10;
int index = 0;
for (int i = 0; i < n; i++) {
System.out.println(s.substring(index, index + 10));
index += 10;
}
n = s.length() % 10;
System.out.println(s.substring(s.length() - n));
}
}복잡도
- 시간: O(L) (L: 문자열 길이)
- 공간: O(L)