happy coding

[java] 11721. 열 개씩 끊어 출력하기 본문

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 메서드는 다음과 같은 두 가지 형태를 가지고 있습니다:

  1. substring(int beginIndex): 주어진 인덱스부터 문자열의 끝까지의 부분 문자열을 반환합니다.
  2. substring(int beginIndex, int endIndex): 주어진 시작 인덱스부터 종료 인덱스 직전까지의 부분 문자열을 반환합니다.
  • beginIndex: 부분 문자열의 시작 인덱스입니다. 이 인덱스를 포함하여 부분 문자열이 시작됩니다.
  • endIndex: 부분 문자열의 종료 인덱스입니다. 이 인덱스 직전까지의 문자열이 부분 문자열로 반환됩니다.

주의할 점은 인덱스는 0부터 시작한다는 것입니다. 즉, 문자열의 첫 번째 문자의 인덱스는 0이며, 두 번째 문자는 1이 됩니다.

'coding study > baekjoon' 카테고리의 다른 글

[java] 2439. 별 찍기 - 2  (0) 2023.08.19
[java] 2442. 별 찍기 - 5  (0) 2023.08.19
[java] 10250. ACM 호텔  (0) 2023.08.19
[java] 2441. 별 찍기 - 4  (0) 2023.08.19
[java] 1247. 부호  (0) 2023.08.19
Comments