코딩/백준

[백준/자바/파이썬] 11721번 열 개씩 끊어 출력하기 코딩테스트 연습풀이

thisisjade 2022. 5. 18. 10:47
728x90

문제 출처: https://www.acmicpc.net/problem/11721

 

11721번: 열 개씩 끊어 출력하기

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

www.acmicpc.net

 

문제

알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.

한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다.

 

출력

입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다.

 

예제 입력 1

BaekjoonOnlineJudge

 

예제 출력 1

BaekjoonOn
lineJudge

 

예제 입력 2

OneTwoThreeFourFiveSixSevenEightNineTen

 

예제 출력 2

OneTwoThre
eFourFiveS
ixSevenEig
htNineTen

 

자바 정답

import java.io.*;

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

1. 버퍼리더를 br로 설정, st에 입력

2. for문 - if문 - 마지막 수 st.length()%10으로 서브스트링 세팅

3. else문 - 0:10, 10:20 등의 형식으로 서브스트링 세팅

 

파이썬 정답

import sys

string = sys.stdin.readline()

for i in range(len(string)//10+1):
    print(string[10*i:10+10*i])

1. string에 입력

2. for문- 길이//10+1만큼 반복

3. stirng 0:10, 10:20등의 형식으로 슬라이싱 세팅

 

문제 풀면서 발견한 파이썬과 자바의 차이점

파이썬은 슬라이싱의 크기가 넘어도 오류없이 그대로 안나옴

자바는 서브스트링의 크기가 넘으면 오류가 나와서 if-else를 세팅

728x90