ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kotlin ๐Ÿฌ ๋ฐฑ์ค€ 15๋‹จ๊ณ„ :: 13909 ๋ฒˆ
    2024. 3. 24. 18:37
    ๋ฐ˜์‘ํ˜•

    ์ฐฝ๋ฌธ ๋‹ซ๊ธฐ

    ๋ฌธ์ œ   |

      ์„œ๊ฐ•๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ ์‹ค์Šต์‹ค R912ํ˜ธ์—๋Š” ํ˜„์žฌ N๊ฐœ์˜ ์ฐฝ๋ฌธ์ด ์žˆ๊ณ  ๋˜ N๋ช…์˜ ์‚ฌ๋žŒ์ด ์žˆ๋‹ค. 1๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 1์˜ ๋ฐฐ์ˆ˜ ๋ฒˆ์งธ ์ฐฝ๋ฌธ์„ ์—ด๋ ค ์žˆ์œผ๋ฉด ๋‹ซ๊ณ  ๋‹ซํ˜€ ์žˆ์œผ๋ฉด ์—ฐ๋‹ค.  2๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 2์˜ ๋ฐฐ์ˆ˜ ๋ฒˆ์งธ ์ฐฝ๋ฌธ์„ ์—ด๋ ค ์žˆ์œผ๋ฉด ๋‹ซ๊ณ  ๋‹ซํ˜€ ์žˆ์œผ๋ฉด ์—ฐ๋‹ค. ์ด๋Ÿฌํ•œ ํ–‰๋™์„ N๋ฒˆ์งธ ์‚ฌ๋žŒ๊นŒ์ง€ ์ง„ํ–‰ํ•œ ํ›„ ์—ด๋ ค ์žˆ๋Š” ์ฐฝ๋ฌธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ. ๋‹จ, ์ฒ˜์Œ์— ๋ชจ๋“  ์ฐฝ๋ฌธ์€ ๋‹ซํ˜€ ์žˆ๋‹ค.

      ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์žฌ 3๊ฐœ์˜ ์ฐฝ๋ฌธ์ด ์žˆ๊ณ  3๋ช…์˜ ์‚ฌ๋žŒ์ด ์žˆ์„ ๋•Œ,

    1. 1๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 1์˜ ๋ฐฐ์ˆ˜์ธ 1,2,3๋ฒˆ ์ฐฝ๋ฌธ์„ ์—ฐ๋‹ค. (1, 1, 1)
    2. 2๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 2์˜ ๋ฐฐ์ˆ˜์ธ 2๋ฒˆ ์ฐฝ๋ฌธ์„ ๋‹ซ๋Š”๋‹ค. (1, 0, 1)
    3. 3๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 3์˜ ๋ฐฐ์ˆ˜์ธ 3๋ฒˆ ์ฐฝ๋ฌธ์„ ๋‹ซ๋Š”๋‹ค. (1, 0, 0)

      ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋งˆ์ง€๋ง‰์— ์—ด๋ ค ์žˆ๋Š” ์ฐฝ๋ฌธ์˜ ๊ฐœ์ˆ˜๋Š” 1๊ฐœ ์ด๋‹ค.

    ์ž…๋ ฅ   |

      ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์ฐฝ๋ฌธ์˜ ๊ฐœ์ˆ˜์™€ ์‚ฌ๋žŒ์˜ ์ˆ˜ N(1 ≤ N ≤ 2,100,000,000)์ด ์ฃผ์–ด์ง„๋‹ค.

     

    ์ถœ๋ ฅ   |

      ๋งˆ์ง€๋ง‰์— ์—ด๋ ค ์žˆ๋Š” ์ฐฝ๋ฌธ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

     

     

    ํ’€์ด  |

      ์ฐฝ๋ฌธ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” boolean array๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. (๋‹ซํžŒ ์ƒํƒœ๋ฉด false, ์—ด๋ฆฐ ์ƒํƒœ๋ฉด true)

      1๋ถ€ํ„ฐ N ๊นŒ์ง€ ๋Œ๋ฉด์„œ ํ•ด๋‹น ๊ฐ’์˜ ๋ฐฐ์ˆ˜ ๊ฐ’์œผ๋กœ true๋ฉด false๋กœ, false๋ฉด true๋กœ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ  ์ตœ์ข…์ ์œผ๋กœ true์ธ ์ƒํƒœ์˜ ๊ฐ’์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค. 

     

     

    ๋‹ต์•ˆ  |

    fun main() {
        val N = readLine()!!.toInt()
    
        val windows = BooleanArray(N) { false }
    
        for (person in 1..N) {
            for (i in person - 1 until N step person) {
                windows[i] = !windows[i]
            }
        }
    
        val count = windows.count { it }
    
        print(count)
    }

     

    ^ ๊ทธ๋Ÿฐ๋ฐ NZEC์ด๋ผ๋Š” ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

     

    Exit code๊ฐ€ 0์ด ์•„๋‹Œ๊ฒŒ ๋ญ˜๊นŒ...

     

    ์•„๋ฌดํŠผ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ–ˆ๋‹ค.

    ์ง์ˆ˜ ๊ฐœ์˜ ์•ฝ์ˆ˜๋ฅผ ์ง€๋‹ˆ๋ฉด ์ตœ์ข…์ ์œผ๋กœ ๋‹ซํž˜์ƒํƒœ์ด๋ฏ€๋กœ, ํ™€์ˆ˜ ๊ฐœ์˜ ์•ฝ์ˆ˜๋ฅผ ์ง€๋Š” ์ˆ˜์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ํ™€์ˆ˜ ๊ฐœ์˜ ์•ฝ์ˆ˜๋ฅผ ์ง€๋‹Œ ์ˆ˜๋Š” ์ œ๊ณฑ๊ทผ์ด๊ธฐ ๋•Œ๋ฌธ์— N ์ดํ•˜์˜ ์ œ๊ณฑ๊ทผ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.

    fun main() {
        val N = readLine()!!.toInt()
    
        var count = 0
        var i = 1
    
        while (i * i <= N) {
            count++
            i++
        }
    
        print(count)
    }
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.