์ƒˆ์†Œ์‹

๐Ÿงฎ ์•Œ๊ณ ๋ฆฌ์ฆ˜/-- ๋ฐฑ์ค€ (BOJ) - Python

๋ฐฑ์ค€ (boj) ํŒŒ์ด์ฌ - 10163 ๋ฒˆ : ์ƒ‰์ข…์ด

  • -

๋ฌธ์ œ ๋งํฌ : https://www.acmicpc.net/problem/10163

 

10163๋ฒˆ: ์ƒ‰์ข…์ด

ํ‰๋ฉด์— ์ƒ‰๊น”์ด ์„œ๋กœ ๋‹ค๋ฅธ ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ์ƒ‰์ข…์ด N์žฅ์ด ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋กœ ๋†“์—ฌ์ง„๋‹ค. ์ด๋•Œ ์ƒ‰์ข…์ด๊ฐ€ ๋น„์Šค๋“ฌํ•˜๊ฒŒ ๋†“์ด๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค. ์ฆ‰, ๋ชจ๋“  ์ƒ‰์ข…์ด์˜ ๋ณ€์€ ์„œ๋กœ ํ‰ํ–‰ํ•˜๊ฑฐ๋‚˜, ์„œ๋กœ ์ˆ˜์ง์ด๊ฑฐ๋‚˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๊ทธ๋ฆผ-1์€ 1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ ์„ธ ์žฅ์˜ ์ƒ‰์ข…์ด๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋†“์ธ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ๊ทธ๋ฆผ-1 ์—ฌ๊ธฐ์— ๊ทธ๋ฆผ-2์—์„œ ๋ณด์ธ ๊ฒƒ์ฒ˜๋Ÿผ 4๋ฒˆ ์ƒ‰์ข…์ด๊ฐ€ ํ•˜๋‚˜ ๋” ๋†“์ด๋ฉด 3๋ฒˆ ์ƒ‰์ข…์ด๋Š” ์™„์ „ํžˆ ๊ฐ€๋ ค์„œ ๋ณด์ด์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒˆ ์ƒ‰์ข…์ด์™€ 2๋ฒˆ ์ƒ‰์ข…์ด๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ๊ฐ€๋ ค

www.acmicpc.net

 


 

 

 

๋ฌธ์ œ ๋ถ„๋ฅ˜ : ๊ตฌํ˜„? (์•„๋งˆ๋„?)

 

 

๋ฌธ์ œ์— ์žˆ๋Š” ๊ทธ๋Œ€๋กœ 2์ค‘ list๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค.  ์กฐ์žกํ•˜๊ณ  ์ •๋ฆฌ๊ฐ€ ์•ˆ๋œ์ฝ”๋“œ์ง€๋งŒ ์‹œ๊ฐ„์ดˆ๊ณผ๋Š” ๋‚˜์ง€ ์•Š์•˜๋‹ค.

 

*์ •๋‹ต์ฝ”๋“œ (Python)
N = int(input())
arr = [[0 for _ in range(101)] for _ in range(101)]

for num in range(1,N+1):
    x,y,xsize,ysize = map(int,input().split())
    for x_idx, X in enumerate(arr):
        for y_idx, Y in enumerate(X):
            if x <= x_idx <= x+xsize-1 and y <= y_idx <= y+ysize-1:
                arr[x_idx][y_idx] = num

for num in range(1,N+1):
    sum = 0
    for k in arr:
        for j in k :
            if j == num :
                sum+=1
    print(sum)

 

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.