Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

DANIELOGIC

[Python] 백준 2921번 도미노 본문

Algorithm/백준

[Python] 백준 2921번 도미노

daniel; 2024. 6. 24. 14:43

[Python] 백준 2921번 도미노

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

문제

코드

t = int(input())
sum = 0
for i in range(1,t+1):
    for x in range(i+1):
        sum += x
print(sum*3)

리뷰

본래 의도와는 다르게 수학적 규칙성을 찾아서 문제를 풀었다.

N = 3 일 때의 모습이다.

여기서 한가지 규칙성을 발견할 수 있다. 

N = 2 일 때 위쪽 방향에 있는 점들의 합은 4이고, 아래쪽 방향에 있는 점들의 합은 8이다.

N = 3 일 때 위쪽 방향에 있는 점들의 합은 10이고, 아래쪽 방향에 있는 점들의 합은 20이다.

위쪽 방향에 있는 점만 구한 뒤 3을 곱해주면 정답을 구할 수 있다.

 

위쪽 방향에 있는 점 구하는 방법은 간단하다.

아랫쪽 방향의 점 개수를 고정시킨 후 이것을 넘지 않을 만큼 위쪽 방향의 점 개수를 늘려가며 더해주면 된다.

 

일반적인 풀이와 코드의 구조는 비슷하지만 수학적인 규칙성을 찾아서 문제를 해결하니 더 재밌다.