Algorithms

[백준 알고리즘] (I/O) 11721번 Java 풀이

SDev 2020. 3. 4. 21:15
728x90

입출력 - 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992

출처: https://plzrun.tistory.com/entry/알고리즘-문제풀이PS-시작하기 [plzrun's algorithm]

 

change Nxxxx -> Main && remove package lines!!!

이클립스에서 작성하면서 문제 이름으로 클래스를 생성하여 풀었기 때문에

클래스 이름을 Main으로 바꾸고, package 부분도 지우고 제출해야 정상적으로 돌아갑니다.

 

<풀이>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package io;
 
import java.util.Scanner;
 
public class N11721 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        
        int len = str.length();
        
        for(int i =0; i<len; i++) {
            System.out.print(str.charAt(i));
            
            if(i % 10 ==9) {
                System.out.println("");
            }
            
        }
    }
}
 
 
 

 

이 문제를 풀면서 이 풀이처럼 반복문이 많이 돌아가지 않도록

먼저 String 내부에서 자를 수 있는 메서드가 있는지를 먼저 찾아봤는데

안타깝지만 딱 맞는건 찾지 못했다.

 

String.substring(int start, int end) 메서드를 활용할 수 있지 않을까 했지만

10개 단위로 계속 문자열을 자동으로 끊게 만드려고 하니

활용하기가 불편했다.

String.substring(int start)도 있지만, 시작 부분만 설정할 수 있고 뒷 부분을 끝까지 반환해버린다.

 

Github: https://github.com/jaeuk9407/AlgorithmBOJ

 

jaeuk9407/AlgorithmBOJ

BaekJoon Online Judge Problems. Contribute to jaeuk9407/AlgorithmBOJ development by creating an account on GitHub.

github.com