deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

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

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

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

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim

๋งž์™œํ‹€

[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ณต ์ด๋™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ3)
Algorithm Problem/Python

[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ณต ์ด๋™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ3)

2022. 2. 15. 21:41
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

์ฟผ๋ฆฌ๋Š” ๊ฑฐ๊พธ๋กœ ์‹œ์ž‘

๋์ด๋ฉด ๋Š˜๋ฆฌ๊ณ 

๋์ด ์•„๋‹ˆ๋ฉด ์ด๋™

์‹œ์ž‘ ์‹œ ๋ฒ”์œ„

๋ช…๋ น: ์œ„๋กœ ํ•œ์นธ (์•„๋ž˜์— ์žˆ์–ด์•ผ ์œ„๋กœ ์™”์„ ๋•Œ ๋ณ„์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค or ์ œ์ž๋ฆฌ์—ฌ๋„ ์œ„๋กœ ํ•œ์นธ์ด๋ฉด ์–ด์งœํ”ผ ๋์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค)

์•„๋ž˜๋กœ ํ•œ์นธ ๋Š˜๋ ค์คŒ

๋ช…๋ น: ์™ผ์ชฝ์œผ๋กœ ํ•œ์นธ (์˜ค๋ฅธ์ชฝ์— ์žˆ์–ด์•ผ ์™ผ์ชฝ์œผ๋กœ ์™”์„ ๋•Œ ๋ณ„์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.)

์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™

๋ช…๋ น: ์œ„๋กœ ์„ธ์นธ (์•„๋ž˜์ชฝ์— ์žˆ์–ด์•ผ ์œ„๋กœ... ๊ทธ๋Ÿฌ๋‚˜ ๋์ด๊ธฐ ๋•Œ๋ฌธ์— ๋Š˜๋ฆด ์ˆ˜ ์—†๋‹ค.)

๊ทธ๋Œ€๋กœ

๋ช…๋ น: ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ์นธ(์™ผ์ชฝ์— ์žˆ์–ด์•ผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์™”์„ ๋•Œ ๋ณ„์— ๋„์ฐฉ๊ฐ€๋Šฅ

์™ผ์ชฝ์œผ๋กœ ์ด๋™

๋ช…๋ น: ์œ„๋กœ ๋‘์นธ ( ์•„๊นŒ ์œ„๋กœ์„ธ์นธ์ธ ๊ฒฝ์šฐ๋ž‘ ๊ฐ™์Œ ) 

๊ทธ๋Œ€๋กœ

๋ช…๋ น: ์•„๋ž˜๋กœ ํ•œ์นธ

๊ทธ๋Œ€๋กœ

answer = (x_max - x_min + 1) * (y_max - y_min + 1)

 

 

๐Ÿ’จ ์ค‘๊ฐ„์— ๋ฒ”์œ„๋ฅผ ์•„์˜ˆ ๋ฒ—์–ด๋‚˜์„œ ๊ฒฐ๊ณผ๊ฐ€ 0์ธ ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

def solution(n, m, x, y, queries):
    answer = 0
    x_min, x_max, y_min, y_max = x, x, y, y

    for idx in range(len(queries) - 1, -1, -1):
        direc, dist = queries[idx]
        if direc == 0:  # ์ขŒ(์˜ค๋ฅธ์ชฝ์—์„œ ์™”์Œ)
            y_max += dist  # ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋Š˜๋ฆฌ๊ธฐ
            if y_max > m - 1: # ๋ฒ”์œ„ ๋ฒ—์–ด๋‚˜๋ฉด
                y_max = m - 1  # ๋๊ฐ’์œผ๋กœ
            if y_min != 0:  # ์™ผ์ชฝ ๊ฐ’์ด ๋์ด ์•„๋‹ˆ๋ฉด ๋ฒ”์œ„ ์ถ•์†Œ
                y_min += dist

        elif direc == 1:  # ์šฐ(์™ผ์ชฝ์—์„œ ์™”์Œ)
            y_min -= dist
            if y_min < 0:
                y_min = 0
            if y_max != m - 1:
                y_max -= dist

        elif direc == 2:  # ์ƒ(์•„๋ž˜์„œ ์™”์Œ)
            x_max += dist
            if x_max > n - 1:
                x_max = n - 1
            if x_min != 0:
                x_min += dist

        else:  # ํ•˜(์œ„์—์„œ ์™”์Œ)
            x_min -= dist
            if x_min < 0:
                x_min = 0
            if x_max != n - 1:
                x_max -= dist
        if y_min > m - 1 or y_max < 0 or x_min > n - 1 or x_max < 0:
            return answer
    else:
         answer = (y_max - y_min + 1) * (x_max - x_min + 1)
    return answer

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๋งํฌ: ๊ณต ์ด๋™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithm Problem > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[python] SWEA - 1209. [S/W ๋ฌธ์ œํ•ด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - Sum  (0) 2022.03.21
[python] SWEA - 13547. ํŒ”์”จ๋ฆ„  (0) 2022.02.22
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์•„์ดํ…œ ์ค๊ธฐ(์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€)  (0) 2022.02.11
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 110 ์˜ฎ๊ธฐ๊ธฐ(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ2)  (0) 2022.02.10
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์Šคํƒ€ ์ˆ˜์—ด(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ1)  (0) 2022.02.09
    'Algorithm Problem/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [python] SWEA - 1209. [S/W ๋ฌธ์ œํ•ด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - Sum
    • [python] SWEA - 13547. ํŒ”์”จ๋ฆ„
    • [python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์•„์ดํ…œ ์ค๊ธฐ(์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€)
    • [python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 110 ์˜ฎ๊ธฐ๊ธฐ(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ2)
    deo2kim
    deo2kim
    ์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

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