๋ฐ์ํ
๐ก๋ฌธ์ ๋ถ์ ์์ฝ
Tn = 1+ 2+ 3+ … + n = n(n+1)/2
๋ชจ๋ ์์ฐ์๊ฐ ์ต๋ 3๊ฐ์ ์ผ๊ฐ์์ ํฉใ ์ผ๋ก ํํ๋ ์ ์๋ค.
๋ง์ผ ํํ์ด ๋๋ค๋ฉด1, ์๋๋ฉด 0์ ์ถ๋ ฅํ๋ค.
๐ก์๊ณ ๋ฆฌ์ฆ ์ค๊ณ
Tn์ ์ ์ํด์ค๋ค.
์ ๋ ์นด ์กฐ๊ฑด์ ์ ์ํด์ค๋ค.
์ ๋ ฅ๋ฐ์ ์์ ๊ฐ์ n ์ ์ ๋ ฅ๋ฐ์ ํ, n๊ฐ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์์ค๋ค.
๐ก์ฝ๋
triangle = []
for i in range(1, 46): # k<1000 ์ด๋ฏ๋ก
triangle.append(i*(i+1)//2) # triangle์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์ค ํ triangle(Tn)์ ์ ์ํด์ค๋ค.
eureka =[0] * 1001 #์ ๋ต ๋ฆฌ์คํธ๋ฅผ 0์ผ๋ก ์ด๊ธฐํ.
for i in triangle:
for j in triangle:
for k in triangle:
num = i + j + k
if num <= 1000:
eureka[num] =1 # ์ธ์ i+ j+ k์ ํฉ์ด 1000๋ณด๋ค ์์ผ๋ฉด 1
n = int(input())
for i in range(n): # ์
๋ ฅ๋ฐ๊ธฐ
num = int(input())
print(eureka[num])
๐ก ํ๋ฆฐ ์ด์
- Tn์ ์ฝ๋๋ก ์ ์
- ์ ๋ ์นด ์ ์ ์
- i+j+k์ ๊ฐ์ด 1000๋ณด๋ค ์์ผ๋ฉด 1
๐ก ํ๋ฆฐ ๋ถ๋ถ ์์ or ๋ค๋ฅธ ํ์ด
- for i in range(1, 46): # k<1000 ์ด๋ฏ๋ก
- eureka =[0] * 1001
๐ก ๋๋์ or ๊ธฐ์ตํ ์ ๋ณด
i+j+k์ ๊ฐ์ด 1000๋ณด๋ค ์์ผ๋ฉด 1. ์ด ๋ถ๋ถ์ด ์ ์ดํด๊ฐ ๊ฐ์ง ์์์๋คใ .
๋ฐ์ํ
'๋ฐฑ์ค | Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][1547] ๊ณต | ํ์ด์ฌ (0) | 2024.12.17 |
---|---|
[๋ฐฑ์ค][1018]์ฒด์คํ ๋ค์ ์น ํ๊ธฐ | ํ์ด์ฌ (1) | 2024.12.13 |
[๋ฐฑ์ค][2309] ์ผ๊ณฑ ๋์์ด | ํ์ด์ฌ (0) | 2024.12.10 |
[๋ฐฑ์ค][2231] ๋ถํดํฉ | ํ์ด์ฌ (1) | 2024.12.09 |
[๋ฐฑ์ค][7795] ๋จน์ ๊ฒ์ธ๊ฐ ๋จนํ ๊ฒ์ธ๊ฐ | ํ์ด์ฌ (0) | 2024.08.19 |