BOJ 2439 - 별 찍기 - 2 (Python3)
2022. 11. 15. 22:38ㆍBronze/Bronze IV
고전도 출력 방식만 살짝 바꿈으로서 상당히 골치 아프게 만들 수 있다.
물론 이게 골치 아프다는 말은 아니다. 별 찍기 한 10번쯤은 가야 골이 정말로 아프지 않을까 싶다.
지금 하는 별 찍기는 단순히 초보적인 구현 연습 문제, 여기서 턱턱 막히더라도 아직 좌절하진 말자. 막 시작하는 타이밍이니.
그럼 본격적으로 풀이에 돌입해 보자.
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
예제 입력)
5
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
예제 출력)
*
**
***
****
*****
내 코드
n=int(input())
for i in range(n):
print(" "*(n-i-1)+"*"*(i+1))
우선 n에다 입력받은 정수를 저장해 주자.
자, 위에서부터 0번째 줄, 1번째 줄, ... n-1번째 줄이라고 할 때, i번째 줄에는 별이 i+1개가 찍히는 것을 알 수가 있다.
그러면 i번째 줄의 공백 갯수는 몇 개인가? 몇 번째 줄이든 n개의 문자가 찍혀야만 하므로, n-1-i개의 공백이 찍혀야만 하겠다.
그러한 문자열이 바로 " "*(n-1-i)+"*"*(i+1)이 되는 것이고.
이로서 2439번의 풀이를 마친다.
728x90
'Bronze > Bronze IV' 카테고리의 다른 글
BOJ 11720 - 숫자의 합 (Python3) (0) | 2022.11.14 |
---|