728x90
반응형
백준 10991번에 이은 10992번 별 찍기 문제입니다.
백준 별 찍기 문제 쉽게 봤다가 아주 호되게 당하는 기분이 드네요...;;
https://www.acmicpc.net/problem/10992
문제요약) 아래와 같이 되는 규칙찾기!
정답)
num = int(input())
for i in range(1,num+1):
if i == num:
print("*"*(num*2-1))
elif i == 1:
print(" "*(num-i),"*",sep="")
else:
print(" "*(num-i),"*"," "*(2*i-3),"*",sep="")
첫번째 줄(i가 1일때)
마지막 줄(i가 num일 때)
나머지 (else)
이렇게 3가지로 나누어서 문제를 해결했습니다.
여기서 저 sep옵션을 꼭 넣어야 되나 라고 생각이 드시지 않나요?
그래서 한번 빼고 출력을 해봤습니다.
num = int(input())
for i in range(1,num+1):
if i == num:
print("*"*(num*2-1))
elif i == 1:
print(" "*(num-i),"*")
else:
print(" "*(num-i),"*"," "*(2*i-3),"*")
결과)
어떤 변화인지 더 명확하게 보여드리겠습니다!
정답코드에서 sep=""를 sep="^"로 바꿔보았어요.
print(" "*(num-i),"*"," "*(2*i-3),"*",sep="")
저번 글에서 sep옵션은 문자열 중간중간에 삽입할 문자를 지정해주고, 개행이 되는 옵션이라고 말씀드렸는데요.
결론적으로 말씀을 드리면 sep=""를 추가하지 않으면
자동으로 쉼표로 이어진 문자열 사이에 띄어쓰기가 된다는 것을 알 수 있었습니다.
따라서 이를 알고, 구현문제를 풀 때, sep옵션을 활용해야겠다는 생각이 드네요!
도움이 되셨다면 공감과 댓글 그리고 구독을 부탁드립니다.!!
+10991번 풀이도 같이 보면 좋아요!
2022.01.22 - [알고리즘 TIL] - [파이썬python] 백준 10991번 - end옵션
728x90
반응형
'알고리즘 TIL' 카테고리의 다른 글
[파이썬python] 백준 10799번 - 쇠막대기 (3) | 2022.01.26 |
---|---|
[파이썬python] 백준 10989번 - 메모리 초과 (14) | 2022.01.25 |
[파이썬python] 백준 2751번 - merge sort (1) | 2022.01.25 |
[파이썬python] 백준 10991번 - end옵션 (8) | 2022.01.22 |
[파이썬python] 백준 1924번 - calendar 라이브러리 (0) | 2022.01.21 |
최근댓글