안경잡이 구루루

백준 10996 ( 별 찍기 - 21 ) [ Python ] 본문

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

백준 10996 ( 별 찍기 - 21 ) [ Python ]

구루루(gururu) 2020. 6. 4. 11:13
반응형


나:

N = int(input())
1<= N <= 100

for i in range(N):
    if N %2 ==0:
        print(('*'+' ')*(N//2))
        print((' '+'*')*(N//2))
    elif N%2 !=0:
        print((('*'+' ')*(N//2))+('*'))
        print((' '+'*')*(N//2))

완성된 코드는 위와 같다.

 

N = int(input())
1<= N <= 100

총 반복회수로 예상되는 N의 입력값을 정수형으로 받고 그것의 범위를 설정한다.

 

for i in range(N):
    if N %2 ==0:
        print(('*'+' ')*(N//2))
        print((' '+'*')*(N//2))

이 문제는 크게 N이 짝수일때와 홀수 일때 출력방식이 다르기에 2가지 방법으로 나눠서 출력해야한다.

위는 짝수일때 반복하기 위한 코드로 N//2 에 해당하는 수만큼 반복한다.

 

   elif N%2 !=0:
        print((('*'+' ')*(N//2))+('*'))
        print((' '+'*')*(N//2))

위는 홀수일때 반복하기위한 코드로 N//2에 해당하는 만큼 반복하지만 별(*)이 한개가 추가된 형태로 출력된다.


다른사람1:

https://somewheretogo.tistory.com/112

N = int(input())
even = N//2
odd = N - N//2

for i in range(N):
    print("* " * odd)
    print(" *" * even)

완성된 코드는 위와 같다.

별과 빈칸을 합친 형태( "* ", " *" )로 반복문을 만들었다.

N의 홀짝을 if구문이 아닌 홀수일때 N-N//2로 표현해 훨신 간결하게 표현

 

반응형