안경잡이 구루루

백준 11721 (열 개씩 끊어 출력하기) [Python/파이썬] [Implement/구현] 본문

파이썬(Python)/문제풀이(백준,BaekJoon)

백준 11721 (열 개씩 끊어 출력하기) [Python/파이썬] [Implement/구현]

구루루(gururu) 2023. 10. 13. 12:50
반응형

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

 

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

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

www.acmicpc.net

 


나:

n = input()
a = len(n)//10
for i in range(a+1):
    print(n[10*i:10*(i+1)])

완성된 코드는 위와 같다.

첫째 줄에 길이 n 인 단어를 입력받는다. 

10개씩 끊어서 출력해야 하기 때문에 10개씩 몇 묶음이 생기는지 10을 나눠 몫을 a 변수에 넣는다.

이후 for 반복문을 이용헤 10개씩 끊어서 출력시킨다. 이때 한 묶음 단위에서 10개 미만의 경우 몫 a값이 1 작아 반복 횟수가 1 줄어들어 끝 묶음 까지 출력이 안되기 때문에 range() 함수의 마지막 범위에 +1 을 해준다. 

참고로 10의 단위로 딱 맞는 n 입력값을 받은 경우 range() 함수의  마지막 범위에 +1 을 했기 때문에 출력 범위를 벗어나지만 이말은 즉, 출력할 것이 없이 때문에 어떤한 것도 출력 없이 존재하는 단어까지만 출력해서 오류는 없다.

다른사람:

n=input()
cnt =1
for i in n:
    if cnt %10 == 0:
        print(i)
        cnt +=1
    else:
        print(i,end="")
        cnt +=1

완성된 코드는 위와 같다.

다른 점은 한 묶음이 10개인지 아닌지 판단하기 위해 새로운 cnt 변수를 도입해서 출력할때 마다 +1 을 해준다. 이때 10개 이하의 경우 연달아 출력하기 위해 print()의 end 를 사용했다.

이후 10으로 나눈 나머지가 0인 경우 한 묶음 만족하기 때문에 print() 함수를 이용해 다음줄부터 줄력시켰다.

반응형