컴퓨터는 잘못이 없다..

[알고리즘]BOJ_11721_열 개씩 끊어 출력하기 본문

공부/알고리즘(파이썬)

[알고리즘]BOJ_11721_열 개씩 끊어 출력하기

도토리까꿍v 2021. 6. 24. 13:10
Contents 접기

#문제 링크

https://www.acmicpc.net/problem/11721

 

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

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

www.acmicpc.net

#문제

https://www.acmicpc.net/problem/11721
열 개씩 끊어 출력하기

시간 제한	메모리 제한	제출	정답	맞은 사람	정답 비율
1 초	256 MB	55227	28466	24661	52.413%
문제
알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.

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

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

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

예제 입력 1
BaekjoonOnlineJudge
예제 출력 1
BaekjoonOn
lineJudge
예제 입력 2
OneTwoThreeFourFiveSixSevenEightNineTen
예제 출력 2
OneTwoThre
eFourFiveS
ixSevenEig
htNineTen

#답안1

import sys
input=sys.stdin.readline

sentence=input().rstrip()

#print(sentence[0:10]) #OneTwoThre
#print(sentence[10:20]) #eFourFiveS
#print(sentence[20:30]) #ixSevenEig
#print(sentence[30:40]) #htNineTen

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

▲리스트 슬라이싱으로 구현하였다. 전체 글자수/10 + 1 만큼 for문을 돌려서 구현하였다. 

#답안2 - 더 간단한 방법

import sys
input=sys.stdin.readline

sentence=input().rstrip()

#print(sentence[0:10]) #OneTwoThre
#print(sentence[10:20]) #eFourFiveS
#print(sentence[20:30]) #ixSevenEig
#print(sentence[30:40]) #htNineTen

for i in range(0, len(sentence), 10) :
    print(sentence[i:i+10])

▲리스트 슬라이싱으로 구현하였다.

range(시작숫자, 종료숫자, step) 으로 0부터 sentence의 길이까지 10만큼 증가시켜서 구현하였다. 

Comments