์ฝ”๋”ฉ ๋ฌธ์ œํ’€์ด ๐Ÿ’ป/๋ฐฑ์ค€

[๋ฐฑ์ค€ / ํŒŒ์ด์ฌ] 2์ฐจ์› ๋ฐฐ์—ด - ์ƒ‰์ข…์ด

์˜Œ์ง€๋‹ˆ์–ด 2024. 1. 25. 20:02

https://www.acmicpc.net/problem/2563

 

๋ฌธ์ œ

 

๊ฐ€๋กœ, ์„ธ๋กœ์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ๊ฐ 100์ธ ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ํฐ์ƒ‰ ๋„ํ™”์ง€๊ฐ€ ์žˆ๋‹ค. ์ด ๋„ํ™”์ง€ ์œ„์— ๊ฐ€๋กœ, ์„ธ๋กœ์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ๊ฐ 10์ธ ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ๊ฒ€์€์ƒ‰ ์ƒ‰์ข…์ด๋ฅผ ์ƒ‰์ข…์ด์˜ ๋ณ€๊ณผ ๋„ํ™”์ง€์˜ ๋ณ€์ด ํ‰ํ–‰ํ•˜๋„๋ก ๋ถ™์ธ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ƒ‰์ข…์ด๋ฅผ ํ•œ ์žฅ ๋˜๋Š” ์—ฌ๋Ÿฌ ์žฅ ๋ถ™์ธ ํ›„ ์ƒ‰์ข…์ด๊ฐ€ ๋ถ™์€ ๊ฒ€์€ ์˜์—ญ์˜ ๋„“์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด ํฐ์ƒ‰ ๋„ํ™”์ง€ ์œ„์— ์„ธ ์žฅ์˜ ๊ฒ€์€์ƒ‰ ์ƒ‰์ข…์ด๋ฅผ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๋ชจ์–‘์œผ๋กœ ๋ถ™์˜€๋‹ค๋ฉด ๊ฒ€์€์ƒ‰ ์˜์—ญ์˜ ๋„“์ด๋Š” 260์ด ๋œ๋‹ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ƒ‰์ข…์ด์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์–ด ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ƒ‰์ข…์ด๋ฅผ ๋ถ™์ธ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ƒ‰์ข…์ด๋ฅผ ๋ถ™์ธ ์œ„์น˜๋Š” ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ฒซ ๋ฒˆ์งธ ์ž์—ฐ์ˆ˜๋Š” ์ƒ‰์ข…์ด์˜ ์™ผ์ชฝ ๋ณ€๊ณผ ๋„ํ™”์ง€์˜ ์™ผ์ชฝ ๋ณ€ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ์ด๊ณ , ๋‘ ๋ฒˆ์งธ ์ž์—ฐ์ˆ˜๋Š” ์ƒ‰์ข…์ด์˜ ์•„๋ž˜์ชฝ ๋ณ€๊ณผ ๋„ํ™”์ง€์˜ ์•„๋ž˜์ชฝ ๋ณ€ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ์ด๋‹ค. ์ƒ‰์ข…์ด์˜ ์ˆ˜๋Š” 100 ์ดํ•˜์ด๋ฉฐ, ์ƒ‰์ข…์ด๊ฐ€ ๋„ํ™”์ง€ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค.

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ƒ‰์ข…์ด๊ฐ€ ๋ถ™์€ ๊ฒ€์€ ์˜์—ญ์˜ ๋„“์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ1 ์˜ˆ์ œ ์ถœ๋ ฅ1
3
3 7
15 7
5 2
260

 

 

์†Œ์Šค ์ฝ”๋“œ
# ๋„ํ™”์ง€
paper = [[0 for col in range(100)] for row in range(100)]

n = int(input())

for _ in range(n):
    x,y = map(int, input().split())

    temp_x = x
    temp_y = y

    # ์ƒ‰์น ํ•˜๊ธฐ
    while temp_x < x + 10:
        for idx in range(10):
            paper[temp_x][temp_y+idx] += 1
        temp_x += 1

# ๋„ํ™”์ง€๋ฅผ ๋Œ๋ฉด์„œ ์ƒ‰์น ๋˜์–ด ์žˆ์œผ๋ฉด cnt+1
cnt = 0
for row in paper:
    for col in row:
        if col > 0:
            cnt += 1

print(cnt)

 

ํ’€์ด

  • 100 x 100 ํฌ๊ธฐ ๋„ํ™”์ง€ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋กœ ์ •์˜
  • ์ƒ‰์ข…์ด์˜ ์ˆ˜๋ฅผ n์— ์ €์žฅ
  • ์ƒ‰์ข…์ด์˜ ์ˆ˜๋งŒํผ ์ƒ‰์น ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณต
    • ์ƒ‰์ข…์ด์˜ ํ–‰ ๋ฒˆํ˜ธ๋ฅผ x, ์—ด ๋ฒˆํ˜ธ๋ฅผ y์— ์ €์žฅ
    • ํ–‰ ๋ฒˆํ˜ธ์™€ ์—ด ๋ฒˆํ˜ธ๋ฅผ ์ž„์‹œ๋กœ temp_x, temp_y์— ์ €์žฅ
    • ์ƒ‰์ข…์ด์˜ ๊ธธ์ด๊ฐ€ ๊ฐ€๋กœ์„ธ๋กœ 10์ด๋ฏ€๋กœ ํ–‰์—ด๋ฒˆํ˜ธ์˜ +10๋งŒํผ์„ ์ƒ‰์น 
  • ๋„ํ™”์ง€๋ฅผ ๋Œ๋ฉด์„œ ๊ฐ’์ด 1๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ์— cnt+1

 

์ฒ˜์Œ์— ๋„ํ™”์ง€๋ฅผ ์ •์˜ํ•  ๋•Œ [[0]*100]*100์œผ๋กœ ์ •์˜ํ–ˆ์—ˆ๋Š”๋ฐ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋‚˜์˜ค์ง€ ์•Š์•„์„œ ์ฐพ์•„๋ณด๋‹ˆ ์—ฐ์‚ฐ์ž *๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๋ฉด ๋‹จ์ˆœํ•˜๊ฒŒ ์š”์†Œ๋งŒ ๋ณต์‚ฌํ•˜๋Š” ์–•์€ ๋ณต์‚ฌ(shallow copy)๊ฐ€ ์ผ์–ด๋‚œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ”๋ผ๋ณด๋Š” ๊ฐ์ฒด๋Š” ๋™์ผํ•˜๊ณ  ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ๊ฒฝ์šฐ์— ๋‹ค๋ฅธ ์›์†Œ์˜ ๊ฐ’๋„ ๋ณ€ํ•˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋‹ˆ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค. ์„ ์–ธ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•˜๋‹ˆ๊นŒ ๋‹คํ–‰ํžˆ ๋ฌธ์ œ์—†์ด ์ •๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค!!

๋Œ“๊ธ€์ˆ˜0