๊ฐœ๋ฐœ์ž 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. 8. 18:07

๋ฌธ์ œ ์„ค๋ช…

 

Leo๋Š” ์นดํŽซ์„ ์‚ฌ๋Ÿฌ ๊ฐ”๋‹ค๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ค‘์•™์—๋Š” ๋…ธ๋ž€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ  ํ…Œ๋‘๋ฆฌ 1์ค„์€ ๊ฐˆ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋Š” ๊ฒฉ์ž ๋ชจ์–‘ ์นดํŽซ์„ ๋ดค์Šต๋‹ˆ๋‹ค.

Leo๋Š” ์ง‘์œผ๋กœ ๋Œ์•„์™€์„œ ์•„๊นŒ ๋ณธ ์นดํŽซ์˜ ๋…ธ๋ž€์ƒ‰๊ณผ ๊ฐˆ์ƒ‰์œผ๋กœ ์ƒ‰์น ๋œ ๊ฒฉ์ž์˜ ๊ฐœ์ˆ˜๋Š” ๊ธฐ์–ตํ–ˆ์ง€๋งŒ, ์ „์ฒด ์นดํŽซ์˜ ํฌ๊ธฐ๋Š” ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

 

Leo๊ฐ€ ๋ณธ ์นดํŽซ์—์„œ ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ brown, ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ yellow๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์นดํŽซ์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ํฌ๊ธฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ์‚ฌํ•ญ
  • ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ brown์€ 8 ์ด์ƒ 5,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ yellow๋Š” 1 ์ด์ƒ 2,000,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • ์นดํŽซ์˜ ๊ฐ€๋กœ ๊ธธ์ด๋Š” ์„ธ๋กœ ๊ธธ์ด์™€ ๊ฐ™๊ฑฐ๋‚˜, ์„ธ๋กœ ๊ธธ์ด๋ณด๋‹ค ๊น๋‹ˆ๋‹ค.

 


์ž…์ถœ๋ ฅ ์˜ˆ
brown yellow return
10 2 [4, 3]
8 1 [3, 3]
24 24 [8, 6]

 

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

def get_candidate(tile):
    max_val = tile+1
    result = [] # [๊ฐ€๋กœ, ์„ธ๋กœ] ํ›„๋ณด๊ตฐ
    for i in range(1, tile+1):
        if i > max_val:
            # ์ด๋ฏธ ํ›„๋ณด๊ตฐ์— ๋“ค์–ด๊ฐ„ ์Œ์ด๋ผ๋ฉด ๋” ํ›„๋ณด๊ตฐ์— ๋„ฃ์„ ํ•„์š” ์—†์œผ๋ฏ€๋กœ ๋ฆฌํ„ด.
            # ์˜ˆ๋ฅผ ๋“ค์–ด, (a,b)๊ฐ€ ํ›„๋ณด๊ตฐ์— ๋“ค์–ด์™”๋Š”๋ฐ (b,a)๊ฐ€ ๋“ค์–ด์˜ค๋ ค๊ณ  ํ•œ๋‹ค๋ฉด ๋“ค์–ด์˜ฌ ํ•„์š” ์—†์Œ.
            return result
        if tile % i == 0:
            # i๊ฐ€ tile ๊ฐ’์˜ ์•ฝ์ˆ˜๋ผ๋ฉด
            pair = tile // i
            result.append([i, pair])
            max_val = pair
    return result
            
def solution(brown, yellow):
    tile = brown + yellow
    answer = []
    for can in get_candidate(tile):
        a, b = can
        # ํƒ€์ผ ํ…Œ๋‘๋ฆฌ ๊ตฌํ•˜๋Š” ์‹.
        # ๊ฐ€๋กœ * 2 + ์„ธ๋กœ * 2 ํ•˜๋ฉด, ๊ฐ ๊ผญ์ง€์ ์ด 2๋ฒˆ์”ฉ ๊ณ„์‚ฐ๋˜์—ˆ์œผ๋ฏ€๋กœ 4๋ฅผ ๋นผ์ฃผ๋ฉด ๋จ.
        tmp_brown = a*2 + b*2 - 4
        if tmp_brown == brown:
            # [a, b]์—์„œ ๊ฐ€๋กœ๊ฐ€ ๋” ๊ธธ๋‹ค๊ณ  ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์กŒ์œผ๋ฏ€๋กœ
            # [b, a]๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ๊ฒƒ์ด ์˜ณ์Œ.
            answer.append(b)
            answer.append(a)
            break
    return answer

 

์กฐ๊ธˆ ๋Œ์•„๊ฐ„ ๋А๋‚Œ์€ ์žˆ์ง€๋งŒ, ์ •์ƒ์ ์œผ๋กœ ํ†ต๊ณผ๋˜๋Š” ์ฝ”๋“œ์ด๋‹ค.

๋ฌธ์ œ ์ž์ฒด๋Š” brute force(์™„์ „ ํƒ์ƒ‰)๊ณผ ์กฐ๊ธˆ์˜ ์ˆ˜ํ•™์ด๋‹ค.

์ฝ”๋“œ ์„ค๋ช…์„ ํ•˜์ž๋ฉด, get_candidate๋Š” ํƒ€์ผ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์•„, [๊ฐ€๋กœ, ์„ธ๋กœ]๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ํ›„๋ณด๊ตฐ์„ ๋ฆฌํ„ด ๋ฐ›๋Š” ํ•จ์ˆ˜์ด๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฃผ์„์œผ๋กœ ๊ธฐ์žฌํ–ˆ์œผ๋‹ˆ ์ฐธ๊ณ .

 

ํ•ด๋‹น ํ›„๋ณด๊ตฐ์—์„œ ํ…Œ๋‘๋ฆฌ(brown)์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜๋Š” ํ›„๋ณด๋ฅผ ์ฐพ์•„ ๋ฆฌํ„ดํ•˜๋ฉด ๋œ๋‹ค.

์ง์‚ฌ๊ฐํ˜•์˜ ๋ณ€์˜ ๊ธธ์ด์˜ ์ด ํ•ฉ์€ ๊ฐ€๋กœ * 2 + ์„ธ๋กœ * 2์ด๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ํƒ€์ผ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋”ฐ์ ธ์•ผ ํ•˜๋ฏ€๋กœ, ๊ฐ€๋กœ * 2 + ์„ธ๋กœ * 2๋กœ ๊ณ„์‚ฐํ•˜๋ฉด ๊ผญ์ง€์  4๊ฐœ๊ฐ€ ๋‘ ๋ฒˆ์”ฉ ๊ณ„์‚ฐ๋œ๋‹ค.

์ด๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค.

 

 

 

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

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

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

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