-
Kotlin ๐ฌ ๋ฐฑ์ค 6๋จ๊ณ :: 10812 ๋ฒ2023. 4. 26. 00:45๋ฐ์ํ
๋ฐ๊ตฌ๋ ์์ ๋ฐ๊พธ๊ธฐ
๋ฌธ์ |
๋ํ์ด๋ ๋ฐ๊ตฌ๋๋ฅผ ์ด N๊ฐ ๊ฐ์ง๊ณ ์๊ณ , ๊ฐ๊ฐ์ ๋ฐ๊ตฌ๋์๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ์์๋๋ก ์ ํ์ ธ ์๋ค. ๋ฐ๊ตฌ๋๋ ์ผ๋ ฌ๋ก ๋์ฌ์ ธ ์๊ณ , ๊ฐ์ฅ ์ผ์ชฝ ๋ฐ๊ตฌ๋๋ฅผ 1๋ฒ์งธ ๋ฐ๊ตฌ๋, ๊ทธ ๋ค์ ๋ฐ๊ตฌ๋๋ฅผ 2๋ฒ์งธ ๋ฐ๊ตฌ๋, ..., ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ๋ฐ๊ตฌ๋๋ฅผ N๋ฒ์งธ ๋ฐ๊ตฌ๋๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ํ์ด๋ ์์ผ๋ก M๋ฒ ๋ฐ๊ตฌ๋์ ์์๋ฅผ ํ์ ์ํค๋ ค๊ณ ๋ง๋ค๋ ค๊ณ ํ๋ค. ๋ํ์ด๋ ๋ฐ๊ตฌ๋์ ์์๋ฅผ ํ์ ์ํฌ ๋, ์์๋ฅผ ํ์ ์ํฌ ๋ฒ์๋ฅผ ์ ํ๊ณ , ๊ทธ ๋ฒ์ ์์์ ๊ธฐ์ค์ด ๋ ๋ฐ๊ตฌ๋๋ฅผ ์ ํํ๋ค. ๋ํ์ด๊ฐ ์ ํํ ๋ฐ๊ตฌ๋์ ๋ฒ์๊ฐ begin, end์ด๊ณ , ๊ธฐ์ค์ด ๋๋ ๋ฐ๊ตฌ๋๋ฅผ mid๋ผ๊ณ ํ์ ๋, begin, begin+1, ..., mid-1, mid, mid+1, ..., end-1, end ์์๋ก ๋์ด์๋ ๋ฐ๊ตฌ๋์ ์์๋ฅผ mid, mid+1, ..., end-1, end, begin, begin+1, ..., mid-1๋ก ๋ฐ๊พธ๊ฒ ๋๋ค.
๋ฐ๊ตฌ๋์ ์์๋ฅผ ์ด๋ป๊ฒ ํ์ ์ํฌ์ง ์ฃผ์ด์ก์ ๋, M๋ฒ ๋ฐ๊ตฌ๋์ ์์๋ฅผ ํ์ ์ํจ ๋ค์, ๋ฐ๊ตฌ๋์ ์ ํ์๋ ๋ฒํธ๋ฅผ ๊ฐ์ฅ ์ผ์ชฝ ๋ฐ๊ตฌ๋๋ถํฐ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ |
์ฒซ์งธ ์ค์ N (1 ≤ N ≤ 100)๊ณผ M (1 ≤ M ≤ 100)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ๋ฐ๊ตฌ๋์ ์์๋ฅผ ๋ฐ๊พธ๋ ๋ง๋๋ ๋ฐฉ๋ฒ์ด ์ฃผ์ด์ง๋ค. ๋ฐฉ๋ฒ์ i, j, k๋ก ๋ํ๋ด๊ณ , ์ผ์ชฝ์ผ๋ก๋ถํฐ i๋ฒ์งธ ๋ฐ๊ตฌ๋๋ถํฐ j๋ฒ์งธ ๋ฐ๊ตฌ๋์ ์์๋ฅผ ํ์ ์ํค๋๋ฐ, ๊ทธ ๋ ๊ธฐ์ค ๋ฐ๊ตฌ๋๋ k๋ฒ์งธ ๋ฐ๊ตฌ๋๋ผ๋ ๋ป์ด๋ค. (1 ≤ i ≤ k ≤ j ≤ N)
๋ํ์ด๋ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์์๋๋ก ๋ฐ๊ตฌ๋์ ์์๋ฅผ ํ์ ์ํจ๋ค.
์ถ๋ ฅ |
๋ชจ๋ ์์๋ฅผ ํ์ ์ํจ ๋ค์์, ๊ฐ์ฅ ์ผ์ชฝ์ ์๋ ๋ฐ๊ตฌ๋๋ถํฐ ๋ฐ๊ตฌ๋์ ์ ํ์๋ ์์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค.
ํ์ด |
k (mid)๋ฅผ ๊ธฐ์ค์ผ๋ก i (begin) ๋ถํฐ k - 1, k + 1 ๋ถํฐ j (end)๋ฅผ ๋ฐ๊ฟ์ค๋ค.
์ฆ, j - k + 1 (== k - i + 1) ๋ฐ๋ณตํ์ฌ ๋งจ ๋ค์ ์์นํ ์์๋ฅผ ์์ผ๋ก ์ด๋์์ผ์ค๋ค.
๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์ํด ์์น๋ฅผ ๋ฐ๊ฟ์ฃผ๋ ํจ์ swap()์ array์ ํ์ฅํจ์๋ก ์์ฑํด ๊ตฌํํด์ฃผ์๋ค.
๋ต์ |
import java.util.Scanner fun main() = with(Scanner(System.`in`)) { val N = nextInt() val M = nextInt() var buckets = Array(N) { it + 1 } repeat(M) { val i = nextInt() val j = nextInt() val k = nextInt() repeat(j - k + 1){ for (num in j - 1 downTo i){ buckets.swap(num, num - 1) } } } buckets.forEach { print("${it} ") } } fun Array<Int>.swap(n: Int, m: Int){ val temp = this[n] this[n] = this[m] this[m] = temp }
๋ฐ์ํ'๐ Algorithm > ๐ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Kotlin ๐ฌ ๋ฐฑ์ค 6๋จ๊ณ :: 1157 ๋ฒ (0) 2023.04.28 Kotlin ๐ฌ ๋ฐฑ์ค 6๋จ๊ณ :: 10988 ๋ฒ (0) 2023.04.27 Kotlin ๐ฌ ๋ฐฑ์ค 6๋จ๊ณ :: 2444 ๋ฒ (0) 2023.04.25 Kotlin ๐ฌ ๋ฐฑ์ค 6๋จ๊ณ :: 3003 ๋ฒ (0) 2023.04.24 Kotlin ๐ฌ ๋ฐฑ์ค 6๋จ๊ณ :: 25083 ๋ฒ (0) 2023.04.23