Updated:

PGS / ๋‹น๊ตฌ ์—ฐ์Šต

ํ’€๋ฉด์„œ

โœ… ๊ฐ€๋Šฅํ•œ ์ผ€์ด์Šค๋Š” โ€˜์œ„โ€™, โ€˜์™ผโ€™, โ€˜์˜คโ€™, โ€˜์•„๋ž˜โ€™ ๋ฒฝ์— ํŠ•๊ธฐ๋Š” ๊ฒฝ์šฐ๋กœ ์ด ๋„ค ๊ฐ€์ง€์ด๋‹ค.

โœ… ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•  ๋•Œ ๋Œ€์นญ์„ ์ด์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œ„์ชฝ ๋ฒฝ์„ ๋งž์ถ”๋Š” ๊ฒฝ์šฐ, ํƒ€๊ฒŸ๊ณต์„ ์œ„์ชฝ ๋ฒฝ์„ ๊ธฐ์ค€์œผ๋กœ ๋Œ€์นญ์‹œํ‚จ๋‹ค. ๋Œ€์นญ ์‹œํ‚จ ์ ๊ณผ ๋จธ์“ฑ์ด๊ฐ€ ์นœ ๊ณต ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ์ œ๊ณฑ์„ ๊ตฌํ•˜๋ฉด ๊ทธ๊ฒŒ ๊ณง ๋‹ต์ด ๋œ๋‹ค.

โœ… ๋จธ์“ฑ์ด๊ฐ€ ์นœ ๊ณต์ด ๋ฒฝ์„ ๋งž๊ธฐ ์ „์— ํƒ€๊ฒŸ๊ณต์„ ๋งž์ถ”๋Š” ์ƒํ™ฉ์— ๋Œ€ํ•ด ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

code โŒจ๏ธ

import math
def dist(x1, y1, x2, y2):
    return (x1-x2)**2 + (y1-y2)**2

def solution(m, n, startX, startY, balls):
    answer = []
    
    for (x, y) in balls:
        dists = []
        
        # ์œ„
        if not (startX == x and y >= startY):
            y_ = n + (n - y)
            dists.append(dist(startX, startY, x, y_))
        # ์•„๋ž˜
        if not (startX == x and y < startY):
            y_ = -y
            dists.append(dist(startX, startY, x, y_))
        # ์™ผ
        if not (startY == y and x <= startX):
            x_ = -x
            dists.append(dist(startX, startY, x_, y))
        # ์˜ค
        if not (startY == y and x > startX):
            x_ = m + (m - x)
            dists.append(dist(startX, startY, x_, y))
        answer.append(min(dists))
            
    return answer


ํ’€๊ณ  ๋‚˜์„œ๐Ÿ‘†๐Ÿ‘€

๋ณต์žกํ•˜๊ฒŒ ์ƒ๊ฐ๋ง๊ณ  ๊ฐ€๋Šฅํ•œ ์ผ€์ด์Šค๋ฅผ ๋‚˜๋ˆ ์„œ ์ƒ๊ฐํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด๋•Œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ด์ค˜์•ผ ํ•˜๋Š” ์ƒํ™ฉ์„ ํ•ญ์ƒ ๊ณ ๋ คํ•  ๊ฒƒ.

Leave a comment