공부/알고리즘(파이썬)
[알고리즘]BOJ_11721_열 개씩 끊어 출력하기
도토리까꿍v
2021. 6. 24. 13:10
#문제 링크
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만큼 증가시켜서 구현하였다.