Java/백준

11721: substring()

hs_developer 2022. 6. 1. 21:41

1. 문제

 

문자열 한 줄로 입력 받은 다음 해당 문자열을 열 글자 단위로 끊어서 출력한다.

마지막으로 끊어지는 문자열이 10미만이면 그것만 출력한다.

 

 

2. 풀이

 

string() 메서드 사용한다.

 

마지막 문자열이 열 글자 미만인 경우의 핸들링 때문에 조건문을 통해 반복문 반복 횟수, 몇 번째 문자열까지 끊어올 지 다르게 돌아가도록 한다.

 

 

 

3. 코드

 

public static void main(String[] args) {
		
    Scanner sc = new Scanner(System.in);
    String str = "";
    int cnt;
    str = sc.nextLine();

    if(str.length() % 10 == 0)
        cnt = str.length() / 10;

    else
        cnt = str.length() / 10 + 1;

    for(int i=0; i < cnt; i++)
    {
        String croped;
        int num;

        if(i == cnt-1) // 글자 수가 10의 배수가 아니면
        {
            num = str.length(); // 입력 값을 그대로 출력해라
        }

        else
        {
            num = 10;
        }

        croped = str.substring(0, num); // 입력 값을 10의 배수로 자른다

        System.out.println(croped);

        if(num != 10)
            break;

        str = str.substring(10);
    } 

}

 

 

4. 결과

 

ㅇㅇㅇㅇㄹㄹㄹㄹㄹㄹㅈㅈㅈㅈㅈㄱㄱㄱㄱㄱㄱㄱㅂㅂㅂㅂㅂㅂ // 입력
ㅇㅇㅇㅇㄹㄹㄹㄹㄹㄹ
ㅈㅈㅈㅈㅈㄱㄱㄱㄱㄱ
ㄱㄱㅂㅂㅂㅂㅂㅂ

 

'Java > 백준' 카테고리의 다른 글

11720 : split(), Integer.parseInt("문자열")  (0) 2022.06.01
10869  (0) 2022.06.01
11718  (0) 2022.06.01
10172  (0) 2022.06.01
7287  (0) 2022.06.01