๊ฐœ๋ฐœ์ž HOON
๐Ÿ› HOON DEVLog
๊ฐœ๋ฐœ์ž HOON
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ˜Ž ์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ (137)
    • ๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„ (7)
    • ๐Ÿฆ” ์ทจ์—…์ค€๋น„ ๊ธฐ๋ก (7)
    • โ˜• ์ž๋ฐ” : JAVA (5)
    • ๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS (80)
    • ๐ŸŒฑ ๋ฐฑ์—”๋“œ : Backend (13)
    • ๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS (11)
    • ๐Ÿ—‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : DB (1)
    • ๐Ÿƒ‍โ™‚๏ธ DEVLOG (8)
    • โš™๏ธ Trouble Shooting (5)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • GitHub
  • Resume

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ฐœ๋ฐœ์ž HOON

๐Ÿ› HOON DEVLog

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‚ผ๊ฐ ๋‹ฌํŒฝ์ด (level2, python)
๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‚ผ๊ฐ ๋‹ฌํŒฝ์ด (level2, python)

2022. 9. 26. 20:43

๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ฐ‘๋ณ€์˜ ๊ธธ์ด์™€ ๋†’์ด๊ฐ€ n์ธ ์‚ผ๊ฐํ˜•์—์„œ ๋งจ ์œ„ ๊ผญ์ง“์ ๋ถ€ํ„ฐ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋‹ฌํŒฝ์ด ์ฑ„์šฐ๊ธฐ๋ฅผ ์ง„ํ–‰ํ•œ ํ›„, ์ฒซ ํ–‰๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ํ–‰๊นŒ์ง€ ๋ชจ๋‘ ์ˆœ์„œ๋Œ€๋กœ ํ•ฉ์นœ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

 


์ œํ•œ์‚ฌํ•ญ
  • n์€ 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.

 


์ž…์ถœ๋ ฅ ์˜ˆ

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

 

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ๋ฌธ์ œ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • ๋ฌธ์ œ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

  • ๋ฌธ์ œ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ’€์ด ์ฝ”๋“œ

def solution(n):
    size = n * (n+1) // 2
    answer = [0 for _ in range(size)]
    checker = [0, 0]
    
    idx = 0
    step = 1
    temp = n
    
    for i in range(1, size + 1):
        answer[idx] = i
        checker[1] += 1
        
        if checker[1] == temp:
            # ํ•ด๋‹น ๋ฐฉํ–ฅ์œผ๋กœ ๋‹ค ์ด๋™ํ–ˆ์œผ๋ฉด,
            temp -= 1
            checker[1] = 0
            checker[0] = (checker[0] + 1) % 3
            
        direction = checker[0]
        if direction == 0:
            # down
            idx += step
            step += 1
        elif direction == 1:
            # right
            idx += 1
        elif direction == 2:
            # up
            idx -= step
            step -= 1
        
    return answer

 

๋ณ„ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—†์ด, ๊ทœ์น™์— ์˜ํ•œ ๊ตฌํ˜„์œผ๋กœ ํ’€์ดํ–ˆ๋‹ค.

n = k์ผ๋•Œ, ํ”ผ๋ผ๋ฏธ๋“œ์˜ ๋ธ”๋Ÿญ์˜ ์ „์— ์ˆ˜๋Š” k * (k+1) // 2์— ํ•ด๋‹นํ•œ๋‹ค.

๊ทธ ํ›„, ๊ทœ์น™์— ๋งž๊ฒŒ ํ”ผ๋ผ๋ฏธ๋“œ ๋‚ด์˜ ์ˆ˜๋ฅผ ์ฑ„์›Œ ๋‚˜๊ฐ„๋‹ค.

 

์‚ผ๊ฐ ๋‹ฌํŒฝ์ด์˜ ์ด๋™์€, ์•„๋ž˜ → ์˜ค๋ฅธ์ชฝ → ์œ„ → ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

์•„๋ž˜๋กœ ๊ฐˆ ๋•Œ๋งˆ๋‹ค index์˜ step์€ 1์”ฉ ๋Š˜์–ด๋‚œ๋‹ค.

n=4์ผ ๋•Œ์˜ ๊ฒฝ์šฐ, 1(1) → 2(2) → 3(4) →4(7)์ด๋ฏ€๋กœ, step๋งŒ ๋ณด๋ฉด 1 → 2 → 3 (์—ฌ๊ธฐ๊นŒ์ง€ ๊ฐ’ ๋งค๊น€) → 4 (step๋งŒ ์„ค์ •ํ•˜๊ณ  ๊ฐ’ ์•ˆ ๋งค๊น€)์œผ๋กœ ๋ณ€ํ™˜๋œ๋‹ค.

 

์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด index๋Š” 1์”ฉ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ, step์„ ๋”ฐ๋กœ ์„ค์ •ํ•  ํ•„์š” ์—†๋‹ค.

 

์œ„๋กœ ์ด๋™ํ•˜๋ฉด, index๋Š” ์ด์ „ ์•„๋ž˜ ์ด๋™์—์„œ์˜ step ๊ฐ’๋งŒํผ ์ฐจ๊ฐํ•˜๋ฉฐ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„๋กœ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค step์€ 1์”ฉ ์ค„์–ด๋“ ๋‹ค.

7 (10) → 8 (6) → 9 (3)์€, 4 → 3 (์—ฌ๊ธฐ๊นŒ์ง€ ๊ฐ’ ๋งค๊น€) → 2 (step ์„ค์ •๋งŒ ํ•˜๊ณ  ๊ฐ’ ์•ˆ ๋งค๊น€)์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ทœ์น™์„ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•˜๋ฉด ํ’€ ์ˆ˜ ์žˆ๋‹ค.

 

level2 ์ด์ง€๋งŒ, ์€๊ทผํžˆ ์ƒ๊ฐ์ด ํ•„์š”ํ•œ ๊ตฌํ˜„๋ฌธ์ œ๋ผ ์ •๋‹ต๋ฅ ์ด ๋‹ค์†Œ ๋‚ฎ์€ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ณด์„ ์‡ผํ•‘ (level3, python)  (0) 2022.10.10
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ถˆ๋Ÿ‰ ์‚ฌ์šฉ์ž (level3, python)  (0) 2022.09.27
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ธฐ์ง€๊ตญ ์„ค์น˜ (level3, python)  (1) 2022.09.25
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 124 ๋‚˜๋ผ์˜ ์ˆซ์ž (level2, python)  (1) 2022.09.25
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฟผ๋“œ์••์ถ• ํ›„ ๊ฐœ์ˆ˜ ์„ธ๊ธฐ (level2, python)  (1) 2022.09.23
    '๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ณด์„ ์‡ผํ•‘ (level3, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ถˆ๋Ÿ‰ ์‚ฌ์šฉ์ž (level3, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ธฐ์ง€๊ตญ ์„ค์น˜ (level3, python)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 124 ๋‚˜๋ผ์˜ ์ˆซ์ž (level2, python)
    ๊ฐœ๋ฐœ์ž HOON
    ๊ฐœ๋ฐœ์ž HOON
    ์ข‹์€ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก์„ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. # ์ฃผ๋‹ˆ์–ด # ๋ฐฑ์—”๋“œ # ๊ฐœ๋ฐœ์ž

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”