백준 #16649 Building a Stair
문제 링크
문제 설명
$N$개의 큐브를 이용해서 계단모양을 만들 때 $y=x$직선을 기준으로 대칭인 모양을 만드는 문제
코드
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)
풀이
$N$이 2일 경우에는 대칭인 모양을 만들지 못하므로 패스. 일단 밑부분을 $ceil(N/2)$개로 깔아두고 첫번째줄에는 $N//2$개의 큐브를 더 추가해준다. $N$이 짝수일 경우 두번째줄에 한칸만 더 추가해주면 끝!
댓글남기기