๋ฌธ์ ์ค๋ช
์ ์ n, left, right๊ฐ ์ฃผ์ด์ง๋๋ค. ๋ค์ ๊ณผ์ ์ ๊ฑฐ์ณ์ 1์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ ํฉ๋๋ค.
- nํ n์ด ํฌ๊ธฐ์ ๋น์ด์๋ 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค.
- i = 1, 2, 3, ..., n์ ๋ํด์, ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.
- 1ํ 1์ด๋ถํฐ iํ i์ด๊น์ง์ ์์ญ ๋ด์ ๋ชจ๋ ๋น ์นธ์ ์ซ์ i๋ก ์ฑ์๋๋ค.
- 1ํ, 2ํ, ..., nํ์ ์๋ผ๋ด์ด ๋ชจ๋ ์ด์ด๋ถ์ธ ์๋ก์ด 1์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค.
- ์๋ก์ด 1์ฐจ์ ๋ฐฐ์ด์ arr์ด๋ผ ํ ๋, arr[left], arr[left+1], ..., arr[right]๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ ์ง์๋๋ค.
์ ์ n, left, right๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ฃผ์ด์ง ๊ณผ์ ๋๋ก ๋ง๋ค์ด์ง 1์ฐจ์ ๋ฐฐ์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 1 ≤ n ≤ 10^7
- 0 ≤ left ≤ right < n^2
- right - left < 10^5
์ ์ถ๋ ฅ ์
์ ์ถ๋ ฅ ์ #1
- ๋ค์ ์ ๋๋ฉ์ด์ ์ ์ฃผ์ด์ง ๊ณผ์ ๋๋ก 1์ฐจ์ ๋ฐฐ์ด์ ๋ง๋๋ ๊ณผ์ ์ ๋ํ๋ธ ๊ฒ์ ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ค์ ์ ๋๋ฉ์ด์ ์ ์ฃผ์ด์ง ๊ณผ์ ๋๋ก 1์ฐจ์ ๋ฐฐ์ด์ ๋ง๋๋ ๊ณผ์ ์ ๋ํ๋ธ ๊ฒ์ ๋๋ค.
ํ์ด ์ฝ๋
def solution(n, left, right):
return [max(i//n, i%n)+1 for i in range(left, right+1)]
์ฝ๋๋ ๊ฐ๋จํ์ง๋ง, ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ์์ ์๊ฐํ๋ ๊ฒ์ด ์กฐ๊ธ ์ด๋ ค์ด ๋ฌธ์ ์ด๋ค.
์ผ๋จ ์ ํ์ฌํญ ์์ฒด๊ฐ ๋ธ๋ฃจํธํฌ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐ์ด๋ค.
๋ง์ฝ 10^7์ n์ ๊ฐ์ก๋ค๋ฉด, ์ผ์ผํ ๋ฐฐ์ด ๋ด๋ถ๋ฅผ ์ฑ์๊ฐ๋ฉฐ ํด๋น ๋ถ๋ถ์ ์ฌ๋ผ์ด์ฑ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ ์๊ฐ์ด๊ณผ๋ฅผ ๋ฉดํ ์ ์๋ค.
๋ฐ๋ผ์ ์ด๋ฐ ๋ฌธ์ ๋, ๋ฌธ์ ์์ ๊ท์น์ ์ฐพ์ ์ ์๋์ง ํ์ธํด์ผ ํ๋ค.
์ผ๋จ ๋๊ฐ์ ์ ๊ฐ์ด ๋์ ๋๋ค. ๋๊ฐ์ ์ ์์๋ค์ 1, 2, 3, 4, ...์ ์์๋ก ๋ฐฐ์ด๋์ด ์๋ค.
์ด ๋๊ฐ์ ์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก, ์ผ์ชฝ ์ง์ ๊ณผ ์์ชฝ ์ง์ ์ ๊ฐ์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ค.
์์ ์๋๋ ์ธ๋ฑ์ค ๊ฐ์ด ์ฝ n๋งํผ ์ฐจ์ด๊ฐ ๋๊ณ , ๋๊ฐ์ ์ ํ ์์๋ก๋ถํฐ ์ผ์ชฝ์ ์์๋ค์ ์ธ๋ฑ์ค ๊ฐ์ด 1์ฉ ์ค์ด๋ ๋ค.
์ฌ๊ธฐ์ i // n๊ณผ i % n๋ฅผ ์ ์ ํ ํ์ฉํ๋ฉด ํ ์ ์์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ง๊ฐ์ ์ผ๋ก ๋๋ ์ ์๋ค.
์ ํํ ๊ท์น์ ์ฐพ๊ธฐ ์ํด ๋ช ๊ฐ์ง์ ์ธ๋ฑ์ค ๊ฐ๋ค์ ๋น๊ตํด๋ณด์.
if) index = 8, n = 4
(i // n, i % n) → (2, 0) → 3
if) index = 9, n = 4
(i // n, i % n) → (2, 1) → 3
if) index = 10, n = 4
(i // n, i % n) → (2, 2) → 3
if) index = 11, n = 4
(i // n, i % n) → (2, 3) → 4
if) index = 7, n = 4
(i // n, i % n) → (1, 3) → 4
if) index = 14, n = 4
(i // n, i % n) → (3, 2) → 4
์ฌ๊ธฐ์ ์ด๋์ ๋ ๋์น๋ฅผ ์ฑ ์ ์๋ค.
i//n๊ณผ i%n ๊ฐ ์ค ํฐ ๊ฒ์ ์ ํํด 1์ ๋ํ ๊ฐ์ด index๊ฐ ๋๋ค.
์ด ์กฐ๊ฑด์ ๋ง๊ฒ ๊ตฌํํ๋ฉด ๋๊ณ , ํ์๋ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ํตํด ๊ฐ๋จํ๊ฒ ๊ตฌํํ๋ค.
'๐ ์ฝ๋ฉํ ์คํธ ๋๋น : PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (level2, python) (0) | 2022.09.12 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ผ๊ทผ ์ง์ (level3, python) (0) | 2022.09.10 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ธฐ๋ฅ๊ฐ๋ฐ (level2, python) (1) | 2022.09.10 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฅ (level2, python) (0) | 2022.09.10 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํํ (level2, python) (0) | 2022.09.09 |