알고리즘

백준 2442 별 찍기 - 5 파이썬 풀이

물에빠진사람 2024. 1. 18. 00:31
반응형

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

 

2442번: 별 찍기 - 5

첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.

www.acmicpc.net

 

코드 1

n = int(input())
for i in range(1, n + 1) :
    print(" " * (n - i), end="")
    print("*" * (2*i - 1))

 

코드 2

n = int(input())
for i in range(n) :
    print(" " * (n - (i + 1)), end="")
    print("*" * (2*(i + 1) - 1))

 

코드 3

n = int(input())
for i in range(1, n + 1) :
    print(" " * (n - i) + "*" * (2*i - 1))

 

코드를 세개나 만들어봤다. 코드 1번이 제일 맘에 들었는데 그 이유는 range를 0부터 시작시킨 2번 코드와 다르게 1부터 시작시켜서 별을 출력시킬때 덧셈하나를 줄여서이다.

코드 3번은 별로 좋아하지 않는다. 일단 '+'를 통해 문자열을 연결시켜 출력하는데다가 코드 수정할때 1번은 첫번째 print문은 공백, 두 번째 print문은 별을 수정하는데, 3번은 한줄 전체를 뚫어져라 봐야해서 싫다.

 

 

 

반응형