๋ฐฑ์ค ์ฝํ๋ฆฐ (3) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Kotlin] ๋ฐฑ์ค 2609 - ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์(์ ํด๋ฆฌ๋ ํธ์ ๋ฒ) ๋ฌธ์ ๋ ๊ฐ์ ์์ฐ์๋ฅผ ์ ๋ ฅ๋ฐ์ ์ต๋ ๊ณต์ฝ์์ ์ต์ ๊ณต๋ฐฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.์ฒซ์งธ ์ค์๋ ๋ ๊ฐ์ ์์ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ๋์ 10,000์ดํ์ ์์ฐ์์ด๋ฉฐ ์ฌ์ด์ ํ ์นธ์ ๊ณต๋ฐฑ์ด ์ฃผ์ด์ง๋ค.ํ์ด1. ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ค. ์ต๋๊ณต์ฝ์๋ ํฐ๊ฐ์ ์์๊ฐ์ผ๋ก ๋๋์์ ๋, ๋๋จธ์ง๊ฐ ๋์ค์ง ์๋ ์ฒซ ์์ ์ ๊ฐ์ด๋ค.2. ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ ์๊ณ ์๋๋ ๋ฌธ์ ์ด๋ค.์ฝ๋import java.util.*fun main() = with(Scanner(System.`in`)) { var n1: Int = nextInt() var n2: Int = nextInt() val m: Int // ์ต๋๊ณต์ฝ์ // ์์ธ์ฒ๋ฆฌ n1 > n2๋ก ๋ณํ if(n2 > n1){ val temp .. [Kotlin] ๋ฐฑ์ค 2309 - ์ผ๊ณฑ ๋์์ด ๋ฌธ์ ์๋น๋ฅผ ํผํด ์ผ๊ณฑ ๋์์ด๋ค๊ณผ ํจ๊ป ํํ๋กญ๊ฒ ์ํํ๊ณ ์๋ ๋ฐฑ์ค๊ณต์ฃผ์๊ฒ ์๊ธฐ๊ฐ ์ฐพ์์๋ค. ์ผ๊ณผ๋ฅผ ๋ง์น๊ณ ๋์์จ ๋์์ด๊ฐ ์ผ๊ณฑ ๋ช ์ด ์๋ ์ํ ๋ช ์ด์๋ ๊ฒ์ด๋ค.์ํ ๋ช ์ ๋์์ด๋ ๋ชจ๋ ์์ ์ด "๋ฐฑ์ค ๊ณต์ฃผ์ ์ผ๊ณฑ ๋์์ด"์ ์ฃผ์ธ๊ณต์ด๋ผ๊ณ ์ฃผ์ฅํ๋ค. ๋ฐ์ด๋ ์ํ์ ์ง๊ด๋ ฅ์ ๊ฐ์ง๊ณ ์๋ ๋ฐฑ์ค๊ณต์ฃผ๋, ๋คํ์ค๋ฝ๊ฒ๋ ์ผ๊ณฑ ๋์์ด์ ํค์ ํฉ์ด 100์ด ๋จ์ ๊ธฐ์ตํด ๋๋ค.์ํ ๋์์ด์ ํค๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฐฑ์ค๊ณต์ฃผ๋ฅผ ๋์ ์ผ๊ณฑ ๋์์ด๋ฅผ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ํ ๊ฐ์ ์ค์ ๊ฑธ์ณ ๋์์ด๋ค์ ํค๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ํค๋ 100์ ๋์ง ์๋ ์์ฐ์์ด๋ฉฐ, ์ํ ๋์์ด์ ํค๋ ๋ชจ๋ ๋ค๋ฅด๋ฉฐ, ๊ฐ๋ฅํ ์ ๋ต์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฑฐ๋ ์ถ๋ ฅํ๋ค.ํ์ด1. ํฉ์ด 100์ด ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ๋๋ค.2. ๋์์ด์ 7๋ช ์ ํค ์ดํฉ์ ๊ตฌํ.. [Kotlin] ๋ฐฐ์ค 3460 - ์ด์ง์ ๋ฌธ์ ์์ ์ ์ n์ด ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ด์ง์๋ก ๋ํ๋์ ๋ 1์ ์์น๋ฅผ ๋ชจ๋ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ตํ์ ๋นํธ(least significant bit, lsb)์ ์์น๋ 0์ด๋ค.์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , n์ด ์ฃผ์ด์ง๋ค. (1 ≤ T ≤ 10, 1 ≤ n ≤ 10^6)ํ์ด1. 2์ง์์ ๊ฒฝ์ฐ, 2๋ก ๋๋ ๋๋จธ์ง๊ฐ ์กด์ฌํ๋ค๋ฉด(๋๋จธ์ง๋ 1) ํด๋น ์์น 1์ ๊ฐ์ด ์จ๋ค.2. ํ ์คํธ ์ผ์ด์ค ๋น n์ ๊ฐ์ 2๋ก ๊ณ์ ๋๋๋ค๋ฉด ์ต๋ log(n)๋ฒ ์ํํด์ผํ๋ค. O(TlogN)3. T๋ ์ต๋ 10 n์ ์ต๋๊ฐ์ 10^6์ผ๋ก ์ด๋ฏ๋ก ์ต๋ log(10^7)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ฏ๋ก 2๋ก ๊ณ์ ๋๋๋ ๋ฐฉ๋ฒ์ ์ฑํํ๋ค.์์ค ์ฝ๋import java.uti.. ์ด์ 1 ๋ค์