coding study/baekjoon
[java] 11721. 열 개씩 끊어 출력하기
yeoonii
2023. 8. 19. 16:56
문제
알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.
한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.
출력
입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
int n = (input.length() + 9) / 10; // 올림 계산
// 10개씩 개행해서 출력
for (int i = 0; i < n; i++) {
int endIndex = Math.min((i + 1) * 10, input.length()); // 최대 10개까지만 출력
System.out.println(input.substring(i * 10, endIndex));
}
}
}
여기서 substring이란!
substring은 문자열에서 지정한 범위의 부분 문자열을 반환하는 메서드입니다. 자바에서 String 클래스의 substring 메서드는 다음과 같은 두 가지 형태를 가지고 있습니다:
- substring(int beginIndex): 주어진 인덱스부터 문자열의 끝까지의 부분 문자열을 반환합니다.
- substring(int beginIndex, int endIndex): 주어진 시작 인덱스부터 종료 인덱스 직전까지의 부분 문자열을 반환합니다.
- beginIndex: 부분 문자열의 시작 인덱스입니다. 이 인덱스를 포함하여 부분 문자열이 시작됩니다.
- endIndex: 부분 문자열의 종료 인덱스입니다. 이 인덱스 직전까지의 문자열이 부분 문자열로 반환됩니다.
주의할 점은 인덱스는 0부터 시작한다는 것입니다. 즉, 문자열의 첫 번째 문자의 인덱스는 0이며, 두 번째 문자는 1이 됩니다.