728x90
반응형

백준 10991번을 풀면서 end 와 sep옵션에 대해서 알아보겠습니다. 

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

 

10991번: 별 찍기 - 16

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

www.acmicpc.net

문제요약) 아래와 같이 되는 규칙찾기!

정답)

N = int(input())

for i in range(1, N+1):
    print(' '* (N-i), end = '')
    for j in range(i): 
        print('*', end = ' ')
    print()

 

 

end옵션은 문장을 출력하고 마지막에 무엇을 쓰고 끝낼지 정해줄 수 있습니다.

기본적으로 print()를 하면 자동으로 줄바꿈이 되는데요. (이를 개행이라고 합니다!)

끝에 end=""옵션을 붙이면 줄바꿈이 되지않고, 안쪽 이중포문의 출력물이 연달아서 출력되게 됩니다.

안쪽 이중포문 역시 end=" "가 있어서 줄바꿈되지않고, 갯수만큼 "*+빈칸"이 연달아서 출력됩니다.

그리고 이중포문을 빠져나갈 때, print()를 해서 줄바꿈이 되게합니다.

위에 정답 코드가 이해가 어려우실 수 있는데요. 이해하기 쉽도록 제가 코드를 한번 바꿔봤습니다!

num = int(input())

for i in range(1,num+1):
    print("^"*(num-i), end = "n")
    for j in range(i):
        print("*", end = "p")
    print()

차이점이 느껴지시나요? 헷갈리는 부분에 다른 문자를 넣어봤습니다. 

그렇다면 결과는 어떻게 나올까요?

빈칸부분이 다른문자로 채워지니까 좀 더 이해하기 쉬운 것 같습니다...!

그럼 이제 end옵션말고 sep옵션을 알아볼까요?

sep옵션은 딱 예시 하나만 드리만 바로 이해하실 수 있으실겁니다!

print("010","1234","5678", sep="-") 
#출력: 010-1234-5678

중간중간 들어가되, 마지막에는 붙지 않는다는 것을 바로 캐치하실 수 있겠죠..?

여기서 기억하실 점은 sep옵션은 end옵션과 다르게 줄바꿈(개행)이 자동으로 된다는 것 입니다. 

 

10991번을 풀면서 end옵션과 sep옵션에 대해 알아봤는데요. 

도움이 되셨다면 공감과 댓글 그리고 구독을 부탁드립니다.!!

 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기