โ๋ฌธ์
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GLXqKAWYDFAXB
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
์ฑ๋ฅ ์์ฝ
๋ฉ๋ชจ๋ฆฌ: 50,364 KB, ์๊ฐ: 174 ms, ์ฝ๋๊ธธ์ด: 422 Bytes
โ๐ปํ์ด
์ํํ ์ ์๋ ์์ญ์ ๋ชจ์์ ๋ณด๋ฉด ๋ง๋ฆ๋ชจ๊ผด์ด๋ค.
๋ง๋ฆ๋ชจ๊ผด์ ์ผ๊ฐํ์ผ๋ก ๋๋ ์ํํ ๊ฒ์ ๊ฐ์น๋ฅผ ๊ณ์ฐํ๋ ค๊ณ ํ๋ค.
n์ด 5์ผ ๋, ์์ผ๊ฐํ์ ๋จผ์ ํ์ธํด๋ณด๊ฒ ๋ค.
0~1๊น์ง ๋ดค์ ๋, (0, 2), (1, 1), (1, 2), (1, 3)์ ์ํํ ์ ์๋ค.
๋ฆฌ์คํธ๋ฅผ ์ฌ๋ผ์ด์ค ์์ญ์ ์ด๋ป๊ฒ ์ง์ ํ ์ง ๊ณ ๋ฏผํ๋ค. 2 - 0 : 2 + 0 + 1๋ก ์ฌ๋ผ์ด์คํ๋ฉด (0, 2)๋ง ๊ฐ์ ธ์จ๋ค.
๊ทธ๋ฆฌ๊ณ 2 - 1 : 2 + 1 + 1๋ก ์ฌ๋ผ์ด์คํ๋ฉด (1, 1), (1, 2), (1, 3)์ ๊ฐ์ ธ์จ๋ค.
์์ผ๊ฐํ์ mid - j : mid + j + 1 ๋ก ๋ฒ์๋ฅผ ์ง์ ํ๋ฉด ๋๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
์ด์ ํ์ผ๊ฐํ์ ํ์ธํด๋ณด๊ฒ ๋ค.
2~4๊น์ง ๋ณด๋ฉด (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (3, 1), (3, 2), (3, 3), (4, 2)์ ์ํํ ์ ์๋ค.
ํ์ผ๊ฐํ๋ ๋ฒ์๋ฅผ ์ฐพ์๋ณด๋ฉด j - mid : n - j + mid๋ก ๋ฒ์๋ฅผ ์ง์ ํ๋ฉด ๋๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
๐ป์ฝ๋
t = int(input())
for i in range(1, t + 1):
n = int(input())
farm = [list(map(int, input().strip())) for _ in range(n)]
if n == 1:
print(f"#{i} {farm[0][0]}")
else:
res = 0
mid = n//2
for j in range(mid):
res += sum(farm[j][mid - j:mid + j + 1])
for j in range(mid, n):
res += sum(farm[j][j - mid:n - j + mid])
print(f"#{i} {res}")
๐ํ๊ธฐ
๋ํ๊ต 1ํ๋
๋ ์ํ ๋ฌธ์ ์์ ๋ณธ ๋ง๋ฆ๋ชจ ๋ฌธ์ ๊ฐ ๋ ์ฌ๋๋๋ฐ ์ฅ ์ค๋ง ๋จ์ ๊ตฌํ์ ์๋๊ฒ ์ง๋ผ๊ณ ์๊ฐํ๋ฉด BFS๋ก ์๋ํ๋ค๋..
๋ค๋ฅธ ์ฌ๋๋ค ์ฐพ์๋ณด๋ ๋ฐ๋ณต๋ฌธ์ด๊ธธ๋ ๋ฐ๋ก ์ฝ๋ ๋ค ์ง์ฐ๊ณ ๋ฒ์์ฐพ๊ธฐํ๋ค.
'Coding Test > Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SWEA] 1225.์ํธ์์ฑ๊ธฐ/Python - D3 (1) | 2024.11.13 |
---|---|
[SWEA] 5215.ํ๋ฒ๊ฑฐ ๋ค์ด์ดํธ/Python - D3 (1) | 2024.11.12 |
[๋ฐฑ์ค] 2565.์ ๊น์ค/Python - Gold5 (0) | 2024.11.05 |
[๋ฐฑ์ค] 13305.์ฃผ์ ์/Python - Silver3 (0) | 2024.11.01 |
[์ํํฐ์ด] ์ง๊ฒ๋ค๋ฆฌ/Python - Lv.3 (0) | 2024.10.30 |