-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0207(2).py
More file actions
31 lines (31 loc) ยท 1.68 KB
/
Copy path0207(2).py
File metadata and controls
31 lines (31 loc) ยท 1.68 KB
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
31
#https://school.programmers.co.kr/learn/courses/30/lessons/68645?language=python3
# ์ผ๊ฐ๋ฌํฝ์ด ๋ฌธ์
# ์ฒซ๋ฒ์งธ ์ฃผ์ด์ง ์ผ๊ฐํ์ ๋ชจ์ ๊ทธ๋ํ๋ฅผ ์ขํ์๋ฃ์ด ์๊ฐํด๋ณด์(2์ฐจ์ ๋ฐฐ์ด์)
#๊ทธ๋ฆฌ๊ณ ๊ฐ ๋ณ๋ง๋ค ๋๋ ๊ท์น์ ์ฐพ์๋ณด์, ์ฐพ์๋ณด๋ฉด ์ฒซ๋ฒ์งธ ๋ด๋ ค๊ฐ๋ n๋งํผ๋ด๋ ค๊ฐ๊ณ ๊ทธ๋ค์ n์ ๋ง๋๋ฉด ๋ฐฉํฅ์ ๋ฐ๊พธ๊ณ ๊ทธ๋ค์ n-1๋งํฐ ๊ฐ๋ฉด ๋ ๋ฐฉํฅ์ ๋ฐ๊พผ๋ค๋ ๊ท์น์ ์ฐพ์ ์ ์๋ค.
#๊ทธ๋ฆฌ๊ณ ์ด ๋ฐฉํฅ์ ๋ฐ๊พธ๋ ๊ฒ์ ๊ตฌํํ๊ธฐ ์ํด % 3์ ์ด์ฉ ์ด๋ถ๋ถ ์ดํดํ๋๋ฐ ์ค๋๊ฑธ๋ ธ๋ค.
def solution(n):
result = []
x = -1
y = 0
num = 1
array = [[0]*n for _ in range(n)]
for i in range(n):
for _ in range(i,n): # ์ด๋ถ๋ถ๋ง ์ดํดํ๋ฉด ๋๋๋ค, ์ด๋ถ๋ถ์ range๋ฅผ i,n์ผ๋ก ๊ฐ์ ธ๊ฐ๋ฉด์ n-1์ฉ ์ค์ด๋ค๊ฒ๋ ํฉ๋๋ค.
if i % 3 == 0: #n์ ๋ง๋๊ธฐ์ ์๋๋ก ๋ด๋ ค๊ฐ๋ ๋ฐฉํฅ ๊ตฌํ
x += 1
array[x][y] = num
num += 1
elif i % 3 == 1:#n์๋ง๋๊ณ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋ ๋ฐฉํฅ ๊ตฌํ ํ n-1์ ๋ง๋๋ฉด ๋ค์ ๋ฐฉํฅ ๋ฐ๋๋ ๊ฒ์ ๊ตฌํ
y += 1
array[x][y] = num
num += 1
elif i % 3. == 2: #n-1๋ถํฐ ๋๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๋ ๊ฒ์ ๊ตฌํ ๊ทธ๋ฆฌ๊ณ ๋ค์ 2n-1 ์ ๋ง๋๋ฉด ๋ค์ ์๋๋ฐฉํ์ผ๋ก ๊ฐ๋ ๊ฒ์ ๊ตฌํ
x -= 1
y -= 1
array[x][y] = num
num += 1
for i in array: #2์ฐจ์ ๋ฐฐ์ด์์ 0์ ์ ์ธํ๊ณ 1์ฐจ์ ๋ฆฌ์คํธ๋ก ๋ฐ๊ฟ์ฃผ๋ ์ด์ค ํฌ๋ฌธ
for j in i:
if j != 0:
result.append(j)
return result