DANIELOGIC
[Python] 백준 2921번 도미노 본문
[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을 곱해주면 정답을 구할 수 있다.
위쪽 방향에 있는 점 구하는 방법은 간단하다.
아랫쪽 방향의 점 개수를 고정시킨 후 이것을 넘지 않을 만큼 위쪽 방향의 점 개수를 늘려가며 더해주면 된다.
일반적인 풀이와 코드의 구조는 비슷하지만 수학적인 규칙성을 찾아서 문제를 해결하니 더 재밌다.
'Algorithm > 백준' 카테고리의 다른 글
[Python] 백준 2577번 숫자의 개수 (0) | 2024.06.24 |
---|---|
[Python] 백준 10991번 별 찍기 - 16 (0) | 2024.06.24 |
[Python] 백준 8892번 팰린드롬 (0) | 2024.06.24 |
[Python] 백준 2444번 별 찍기 - 7 (0) | 2024.06.24 |
[Python] 백준 1408번 24 (0) | 2024.06.23 |