ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kotlin 🍬 λ°±μ€€ 7단계 :: 2563 번
    2023. 5. 6. 02:40
    λ°˜μ‘ν˜•

    색쒅이

    문제   |

      κ°€λ‘œ, μ„Έλ‘œμ˜ 크기가 각각 100인 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 흰색 도화지가 μžˆλ‹€. 이 도화지 μœ„μ— κ°€λ‘œ, μ„Έλ‘œμ˜ 크기가 각각 10인 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 검은색 색쒅이λ₯Ό μƒ‰μ’…μ΄μ˜ λ³€κ³Ό λ„ν™”μ§€μ˜ 변이 ν‰ν–‰ν•˜λ„λ‘ 뢙인닀. μ΄λŸ¬ν•œ λ°©μ‹μœΌλ‘œ 색쒅이λ₯Ό ν•œ μž₯ λ˜λŠ” μ—¬λŸ¬ μž₯ 뢙인 ν›„ 색쒅이가 뢙은 검은 μ˜μ—­μ˜ 넓이λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

      예λ₯Ό λ“€μ–΄ 흰색 도화지 μœ„μ— μ„Έ μž₯의 검은색 색쒅이λ₯Ό κ·Έλ¦Όκ³Ό 같은 λͺ¨μ–‘μœΌλ‘œ λΆ™μ˜€λ‹€λ©΄ 검은색 μ˜μ—­μ˜ λ„“μ΄λŠ” 260이 λœλ‹€.

     

    μž…λ ₯   |

      μ²«μ§Έ 쀄에 μƒ‰μ’…μ΄μ˜ μˆ˜κ°€ 주어진닀. 이어 λ‘˜μ§Έ 쀄뢀터 ν•œ 쀄에 ν•˜λ‚˜μ”© 색쒅이λ₯Ό 뢙인 μœ„μΉ˜κ°€ 주어진닀. 색쒅이λ₯Ό 뢙인 μœ„μΉ˜λŠ” 두 개의 μžμ—°μˆ˜λ‘œ μ£Όμ–΄μ§€λŠ”λ° 첫 번째 μžμ—°μˆ˜λŠ” μƒ‰μ’…μ΄μ˜ μ™Όμͺ½ λ³€κ³Ό λ„ν™”μ§€μ˜ μ™Όμͺ½ λ³€ μ‚¬μ΄μ˜ 거리이고, 두 번째 μžμ—°μˆ˜λŠ” μƒ‰μ’…μ΄μ˜ μ•„λž˜μͺ½ λ³€κ³Ό λ„ν™”μ§€μ˜ μ•„λž˜μͺ½ λ³€ μ‚¬μ΄μ˜ 거리이닀. μƒ‰μ’…μ΄μ˜ μˆ˜λŠ” 100 μ΄ν•˜μ΄λ©°, 색쒅이가 도화지 λ°–μœΌλ‘œ λ‚˜κ°€λŠ” κ²½μš°λŠ” μ—†λ‹€

     

    좜λ ₯   |

      μ²«μ§Έ 쀄에 색쒅이가 뢙은 검은 μ˜μ—­μ˜ 넓이λ₯Ό 좜λ ₯ν•œλ‹€.

     

     

    풀이  |

      100 x 100 크기 2차원 배열에 색쒅이가 κ°€λ‘œμ§€λ₯΄λŠ” λͺ¨λ“  xμΆ•, yμΆ• 값을 boolean κ°’μœΌλ‘œ μ„€μ •ν•˜μ—¬ ν•΄λ‹Ή μœ„μΉ˜λ₯Ό μ€‘λ³΅λ˜κ²Œ μ§€λ‚˜κ°€λŠ” 지 κ΅¬λΆ„ν•œλ‹€.

     

     

    λ‹΅μ•ˆ  |

    import java.util.Scanner
    
    fun main() = with(Scanner(System.`in`)) {
        val graph = Array(100) { BooleanArray(100) }
        var total = 0
        
        repeat(nextInt()) {
            val x = nextInt()
            val y = nextInt()
            
            for (i in x until x + 10) {
                for (j in y until y + 10) {
                    if (graph[i][j]) continue
                    graph[i][j] = true
                    total++
                }
            }
        }
        
        print(total)
    }
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.