본문 바로가기

Algorithm/[BOJ] - JAVA

[백준] 11721 : 열 개씩 끊어 출력하기 JAVA 풀이

음...내가 좀 어렵게 생각한 것 같다.

 

1. 문자열을 입력받아 String 변수 str에 저장한다.

2. str의 길이를 len이라는 변수에 저장한다. (꼭 저장하지 않아도 되지만 코드의 가독성 때문에)

3. String.substring(첫 인덱스, 마지막 인덱스-1)를 사용해 10글자씩 잘라 출력한다.

    만약 문자열이 25글자라면 인덱스 0~9까지 출력하고, 10~19까지 출력해야 하니

    i*10부터 (i+1)*10-1까지 출력했다.

4. 입력받은 문자열의 길이가 10으로 나눠떨어지지 않으면 나머지 글자를 String.substring(첫 인덱스)로 출력한다.

 

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        int len = str.length();
        
        for(int i=0;i<len/10;i++){
            System.out.println(str.substring(i*10,(i+1)*10-1));
        }
        if(len%10!=0){
            System.out.println(str.substring(len-(len%10)));
        }
        
    }
}

String.charAt()을 사용해서 10글자를 출력했을 때마다 개행을 시키는 방법으로도 풀어봤다.

0~9까지 10글자를 출력하고 줄을 바꾸기 위해서

인덱스 % 10 == 9일 때마다 개행해줬다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        
        for(int i=0;i<str.length();i++){
            System.out.print(str.charAt(i));
            if(i%10==9) System.out.println();
        }
        
    }
    
}