ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kotlin ๐Ÿฌ ๋ฐฑ์ค€ 4๋‹จ๊ณ„ :: 10811 ๋ฒˆ
    2023. 4. 10. 21:07
    ๋ฐ˜์‘ํ˜•

    ๋ฐ”๊ตฌ๋‹ˆ ๋’ค์ง‘๊ธฐ

    ๋ฌธ์ œ   |

      ๋„ํ˜„์ด๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์ด N๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐ๊ฐ์˜ ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ ํ˜€์ ธ ์žˆ๋‹ค. ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์ผ๋ ฌ๋กœ ๋†“์—ฌ์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์™ผ์ชฝ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ 1๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ, ๊ทธ ๋‹ค์Œ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ 2๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ, ..., ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ N๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

      ๋„ํ˜„์ด๋Š” ์•ž์œผ๋กœ M๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋„ํ˜„์ด๋Š” ํ•œ ๋ฒˆ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋ฐ”๊ฟ€ ๋•Œ, ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ค ๋ฒ”์œ„๋ฅผ ์ •ํ•˜๊ณ , ๊ทธ ๋ฒ”์œ„์— ๋“ค์–ด์žˆ๋Š” ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ ๋‹ค.

      ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐ”๊ฟ€์ง€ ์ฃผ์–ด์กŒ์„ ๋•Œ, M๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“  ๋‹ค์Œ, ๋ฐ”๊ตฌ๋‹ˆ์— ์ ํ˜€์žˆ๋Š” ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์žฅ ์™ผ์ชฝ ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

     

    ์ž…๋ ฅ   |

      ์ฒซ์งธ ์ค„์— N (1 ≤ N ≤ 100)๊ณผ M (1 ≤ M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค.

      ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฐฉ๋ฒ•์€ i j๋กœ ๋‚˜ํƒ€๋‚ด๊ณ , ์™ผ์ชฝ์œผ๋กœ๋ถ€ํ„ฐ i๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ j๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ ๋‹ค๋Š” ๋œป์ด๋‹ค. (1 ≤ i ≤ j ≤ N)

      ๋„ํ˜„์ด๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พผ๋‹ค.

     

    ์ถœ๋ ฅ   |

      ๋ชจ๋“  ์ˆœ์„œ๋ฅผ ๋ฐ”๊พผ ๋‹ค์Œ์—, ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ ๋ฐ”๊ตฌ๋‹ˆ์— ์ ํ˜€์žˆ๋Š” ์ˆœ์„œ๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

     

     

    ํ’€์ด  |

      1. ์ž…๋ ฅ ๋ฐ›์€ ๋ฐ”๊ตฌ๋‹ˆ ๊ฐฏ์ˆ˜ N ํฌ๊ธฐ ๋งŒํผ์˜ int array ์ƒ์„ฑ

      2. ๋ฐ”๊ตฌ๋‹ˆ ์œ„์น˜ ๋ฒˆํ˜ธ์— ํ•ด๋‹นํ•˜๋Š” ๊ณต ๋ฒˆํ˜ธ ์ €์žฅ

      3. i๋ฒˆ๊ณผ j๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ณต ๋ฒˆํ˜ธ ๊ตํ™˜

     

     

    ๋‹ต์•ˆ  |

    import java.util.Scanner
    
    fun main() = with(Scanner(System.`in`)) {
        val N = nextInt()
        val M = nextInt()
        var buckets = IntArray(N) { it + 1 }
        
        repeat(M) {
            var i = nextInt()
            var j = nextInt()
            
            while (i < j ) {
                val temp = buckets[i - 1]
                buckets[i - 1] = buckets[j - 1]
                buckets[j - 1] = temp
                i++
                j--
            }
        }
        
        buckets.forEach { print("${it} ") }
    }
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.