Baekjoon 문제 풀기 (11721번 : 열 개씩 끊어 출력하기) Python

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

1. 문제읽기


문자열 슬라이싱 문제.

문자열을 슬라이싱 방법과 for 문의 개념을 잘 알고 있다면 풀 수 있는 문제이다.

2. 제출 코드


10개씩 끊어서 나머지를 출력해야하기 때문에 count에 입력받은 문자열의 길이를 10으로 나눈 몫을 받아주었고, for문을 count번까지 돌려주었다.
그리고 index 변수를 따로 선언하여 10씩 추가해주었다.
마지막 남은 10이 안되는 입력값은 if문으로 출력했다.

a = input()
count = len(a)//10
index = 0

for i in range(count+1):  # 0부터 count 까지
    print(a[index:index+10])
    index += 10
    if index == count:
        print(a[index:])

3. 공부할 것


파이썬의 슬라이싱에서 뒤쪽 값을 넣어줄 때 현재 문자열의 길이보다 큰 값을 넣어줘도 오류가 없다는 것을 알게 되었다.
나는 오류가 날까봐 이것 저것 조건을 많이 만들었는데, 이 특성을 잘 안다면 아래와 같이 아주 짧은 코드로 줄일 수 있다.
for문을 잘 알고있다고 생각했는데 for문 안에서 10씩 증가시킬 생각은 못했다.

a = input()
for i in range(0, len(a), 10):
	print(a[i:i+10])  # 슬라이싱 뒤 index는 포함되지 않으니 주의할 것

댓글남기기