250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต level2 (n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ) ๋ณธ๋ฌธ

๐Ÿ“ Coding Test/Programmers

[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต level2 (n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ)

ใ…… ใ…œ ใ…” ใ…‡ 2022. 12. 28. 03:22
728x90

1. ๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ n, left, right๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ 1์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

  1. nํ–‰ n์—ด ํฌ๊ธฐ์˜ ๋น„์–ด์žˆ๋Š” 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  2. i = 1, 2, 3, ..., n์— ๋Œ€ํ•ด์„œ, ๋‹ค์Œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
    • 1ํ–‰ 1์—ด๋ถ€ํ„ฐ iํ–‰ i์—ด๊นŒ์ง€์˜ ์˜์—ญ ๋‚ด์˜ ๋ชจ๋“  ๋นˆ ์นธ์„ ์ˆซ์ž i๋กœ ์ฑ„์›๋‹ˆ๋‹ค.
  3. 1ํ–‰, 2ํ–‰, ..., nํ–‰์„ ์ž˜๋ผ๋‚ด์–ด ๋ชจ๋‘ ์ด์–ด๋ถ™์ธ ์ƒˆ๋กœ์šด 1์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  4. ์ƒˆ๋กœ์šด 1์ฐจ์› ๋ฐฐ์—ด์„ arr์ด๋ผ ํ•  ๋•Œ, arr[left], arr[left+1], ..., arr[right]๋งŒ ๋‚จ๊ธฐ๊ณ  ๋‚˜๋จธ์ง€๋Š” ์ง€์›๋‹ˆ๋‹ค.

์ •์ˆ˜ n, left, right๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ ๊ณผ์ •๋Œ€๋กœ ๋งŒ๋“ค์–ด์ง„ 1์ฐจ์› ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

 

 

 

 

2. ์ œํ•œ ์‚ฌํ•ญ

  • 1 ≤ n ≤ 107
  • 0 ≤ left  right < n2
  • right - left < 105

 

 

 

 

 

 

3. ๋‚ด ํ’€์ด

def solution(n, left, right):
    answer = [[i+1 for _ in range(i+1)] + list(range(i+2,n+1)) for i in range(left//n, right//n+1)]
    return sum(answer,[])[left%n:(right//n-left//n)*n+right%n+1]

 

 

 

 

 

 

4. ๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

def solution(n, left, right):
    answer = []
    for i in range(left,right+1):
        answer.append(max(i//n,i%n)+1)
    return answer

 

 

 

solution = lambda n, left, right: list((max(i // n, i % n) + 1 for i in range(left, right + 1)))
728x90
Comments