728x90
๋ค์์ ๋ฐฐ์ด์ ์ค๋ฅธ์ชฝ 90๋ ํ์ ์ํจ ์ฝ๋์ด๋ค.
๋ฐฉ๋ฒ1. depth+(์ํ์ข์ฐ 4๊ฐ์ง๋ก ๊ตฌ๋ถ)
ํด๋น ์ฝ๋๋ ๋ฐฐ์ด์ 4๊ฐ๋ก ๋๋๊ณ depth๋ฅผ ์ด์ฉํ์ฌ ์ฝ๋๋ฅผ ๊ตฌํํ ๊ฒ์ด๋ค.
def rotate_right(matrix, len_key):
depth=len(matrix)//2
rotate_matrix=[[0]*len(matrix) for _ in range(len(matrix))]
for row in range(0, depth+1):
for col in range(row, row+(len_key-1)-2*row):
rotate_matrix[col][len_key-1-row]=matrix[row][col]#๋ถ
rotate_matrix[len_key-1-row][len_key-1-col]=matrix[col][len_key-1-row]#๋
rotate_matrix[len_key-1-col][len_key-1-(len_key-1-row)]=matrix[len_key-1-row][len_key-1-col]#๋จ
rotate_matrix[row][len_key-1-(len_key-1-col)]=matrix[len_key-1-col][row]#์
if len(matrix)%2==1:
rotate_matrix[depth][depth]=matrix[depth][depth]
return rotate_matrix
์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ๊ธฐ์กด์ col→row๋ก, row→len_key-1-row๋ก ๋ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๋ฅผ ์ผ๊ด ํ์ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๋ฐฉ๋ฒ2. ๊ธธ์ด๊ฐ ๊ฐ๊ฑฐ๋ ๋ค๋ฅด๊ฑฐ๋ ์๊ด์์ด ๋ฐฐ์ด ์ค๋ฅธ์ชฝ 90๋ ํ์
def rotate_right(matrix, len_key):
depth=len(matrix)//2
rotate_matrix=[[0]*len(matrix) for _ in range(len(matrix))]
for row in range(ํ ๊ธธ์ด):
for col in range(์ด ๊ธธ์ด):
rotate_matrix[col][ํ๊ธธ์ด-1-row]=matrix[row][col]
return rotate_matrix
728x90
'์๊ณ ๋ฆฌ์ฆ๐ฅ > ๊ฐ๋ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฐ ์ฝ๋ฉํ ์คํธ ๊ธฐ๋ณธ] 0. ์๋ฃํ์ ์ข ๋ฅ์ ํฌ๊ธฐ (0) | 2023.06.21 |
---|---|
[ํ์ด์ฌ ์ฝ๋ฉํ ์คํธ ๊ฐ๋ ] 2. ๋ฐํฌ(Deque) (0) | 2023.05.10 |
[ํ์ด์ฌ ์ฝ๋ฉํ ์คํธ ๊ฐ๋ ] 1-1. ์ฐ๊ฒฐ๋ฆฌ์คํธ - ๋ฌ๋ (0) | 2023.05.04 |
[ํ์ด์ฌ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ] 3. ์ปฌ๋์ Collections (0) | 2023.01.08 |
[ํ์ด์ฌ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ] 2. ํํ, ์ธํธ, ๋์ ๋๋ฆฌ (0) | 2023.01.07 |