:link:문제 링크

[16649 Building a Stair]

:question:문제 설명

$N$개의 큐브를 이용해서 계단모양을 만들 때 $y=x$직선을 기준으로 대칭인 모양을 만드는 문제

:pencil2:코드

import sys
input = sys.stdin.readline
from math import ceil


N = int(input())
if N == 2:
    print(-1)
    exit()
M = ceil(N / 2)
print(M)
for i in range(M):
    if i <= M - 3:
        print("o" + "." * (M - 1))
    elif i == M - 2:
        if N % 2:
            print("o" + "." * (M - 1))
        else:
            print("o" + "o" + "." * (M - 2))
    else:
        print("o" * M)

:memo:풀이

$N$이 2일 경우에는 대칭인 모양을 만들지 못하므로 패스. 일단 밑부분을 $ceil(N/2)$개로 깔아두고 첫번째줄에는 $N//2$개의 큐브를 더 추가해준다. $N$이 짝수일 경우 두번째줄에 한칸만 더 추가해주면 끝!

댓글남기기