https://school.programmers.co.kr/learn/courses/30/lessons/87390
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์ ๋ณด๊ณ ์ฝ๋ค๊ณ ์๊ฐํ๋๋ฐ,, ์๊ฐ๋ณด๋ค ์ด๋ ค์ ๋ ๋ฌธ์ ์ด๋ค.
์ด์ฐ์ด์ฐํด์ ํ๊ธด ํ๋๋ฐ ์ฝ๋๊ฐ ์ผ๋จ ๊ฐ๋ ์ฑ๋ ๋จ์ด์ง๊ณ ,
30์ ๋ฐ๊ณ ๋๋ถ๋ถ์ ํ๋ ์ผ์ด์ค๋ ์๊ฐ์ด๊ณผ..
# ์๊ฐ ์ด๊ณผ ์ฝ๋
"""
def solution(n, left, right):
answer = [[0]*(n) for _ in range(n)]
ans = []
for i in range(n):
for j in range(n):
if (i+1)*(j+1) <= (i+1)**2:
answer[i][j] = i+1
else :
answer[i][j] = answer[i][j-1] +1
ans.append(answer[i][j])
return ans[left:right+1]
"""
์๊ฐ ์ด๊ณผ๊ฐ ๋ ์ด์ :
์์งํ ๋ด๊ฐ ๋ด๋ ๋ฉ๋ชจ๋ฆฌ๋ ์๊ฐ์ด๋ ์ด๊ณผ๋ ๊ฒ ๊ฐ์์ด.. ๋ฌธ์ ๋ฅผ ์ฒ์ ๋ณด๊ณ ,
2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ๋ค์ 1์ฐจ์ ๋ฐฐ์ด๋ก ์๋ผ์ left~right ์ธ๋ฑ์ค๋ฅผ ๋ฝ์๊ฑฐ๋ฉด ๊ตณ์ด 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค ํ์๊ฐ ์๋? ์ถ์ด์ 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ง๋ค๋ ค๊ณ ํ์ผ๋ ์คํจใ
..
๊ทธ๋์ 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ฃผ์์ (1์ฐจ ๋ญ๋น)
๊ทธ๋ฆฌ๊ณ ์ด์ left~right ์ธ๋ฑ์ค๋ฅผ ๋ฝ์์ค์ผํ๋๋ฐ... 2์ฐจ์ ๋ฐฐ์ด์์ ์ด๋ป๊ฒ ๋ฝ์์ผํ ์ง ๋ชฐ๋ผ์ 1์ฐจ์๋ฐฐ์ด์ 2์ฐจ์๋ฐฐ์ด๊ฐ์ ํ๋์ฉ ์ถ๊ฐํด์ค^^^ (2์ฐจ ๋ญ๋น)
๊ทธ๋์ ์๊ฐ์ด๊ณผ๋ฌ๋ค..................
์ ์ด์
[ [1, 2, 3]
[2, 2, 3]
[3, 3, 3] ] <= ์ด ๋ฐฐ์ด์ ๋ง๋๋ ๊ณต์๋ ์ด์ํด์ ๋ง์ ์ ๋ค์๋ค...............
<< ํ์ด >>
n์ด 3์ด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฐฐ์ด์ด ๋ง๋ค์ด์ง ๊ฒ
(0,0) = 1 | (0,1) = 2 | (0,2) = 3 |
(1,0) = 2 | (1,1) = 2 | (1,2) = 3 |
(2,0) = 3 | (2,1) = 3 | (2,2) = 3 |
(0,0)์ด๋ฉด 1, ์ธ๋ฑ์ค์ 1์ด ํ ๊ฐ๋ผ๋ ๋ค์ด๊ฐ๋ฉด 2, ์ธ๋ฑ์ค์ 2๊ฐ ํ ๊ฐ๋ผ๋ ๋ค์ด๊ฐ๋ฉด 3์ด๋ค.
๊ทธ๋ฌ๋ฏ๋ก ํด๋น ์์น์ ๊ฐ = max (ํด๋น ์์น // n , ํด๋น ์์น % n) + 1์ด๋ค.
์๋ํ๋ฉด ํด๋น ์์น // n == i, ํด๋น ์์น % n == j ์ด๋ฏ๋ก i์ j ์ธ๋ฑ์ค ์ค ํฐ ์ธ๋ฑ์ค์ +1 ์ด ๊ฐ์ด ๋๋ ๊ฒ...
์ง์ง ๋๋ฐ์ด๋ค....
def solution(n, left, right):
answer = []
for i in range(left, right + 1):
answer.append(max(i // n, i % n) + 1)
return answer
๊ทธ๋์ ์ฝ๋๋ ์์ ๊ฐ์ด ๋ง๋ค์ด์ง๋ค.
answer ์ ์ฒด์ 1์ฐจ์ ๋ฐฐ์ด๋ ๋ง๋ค ํ์๊ฐ ์์๋ ๊ฒ.. ๊ทธ๋ฅ left~right ์์น๊น์ง๋ง ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฌ๋ฉด ๋๋ ๊ฒ์..