Kotlin ๐ฌ ๋ฐฑ์ค 13๋จ๊ณ :: 18870 ๋ฒ
์ขํ ์์ถ
๋ฌธ์ |
์์ง์ ์์ N๊ฐ์ ์ขํ $X_{1}$, $X_{2}$, ..., $X_{N}$์ด ์๋ค. ์ด ์ขํ์ ์ขํ ์์ถ์ ์ ์ฉํ๋ ค๊ณ ํ๋ค.
$X_{i}$๋ฅผ ์ขํ ์์ถํ ๊ฒฐ๊ณผ $X'_{i}$์ ๊ฐ์ $X_{i}$ > $X_{j}$๋ฅผ ๋ง์กฑํ๋ ์๋ก ๋ค๋ฅธ ์ขํ $X_{j}$์ ๊ฐ์์ ๊ฐ์์ผ ํ๋ค.
$X_{1}$, $X_{2}$, ..., $X_{N}$์ ์ขํ ์์ถ์ ์ ์ฉํ ๊ฒฐ๊ณผ $X'_{1}$, $X'_{2}$, ..., $X'_{N}$๋ฅผ ์ถ๋ ฅํด๋ณด์.
์ ๋ ฅ |
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค์๋ ๊ณต๋ฐฑ ํ ์นธ์ผ๋ก ๊ตฌ๋ถ๋ $X_{1}$, $X_{2}$, ..., $X_{N}$์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ |
์ฒซ์งธ ์ค์ $X'_{1}$, $X'_{2}$, ..., $X'_{N}$์ ๊ณต๋ฐฑ ํ ์นธ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค.
์ ํ |
- 1 ≤ N ≤ 1,000,000
- -109 ≤ $X_{i}$ ≤ 109
ํ์ด |
1. ๋ฎ์ ๊ฐ์ด ๋์ ์์๋ฅผ ๊ฐ๋๋ค. (๊ฐ์ฅ ๋์ ์์๋ 0์์๋ค.)
2. ์ค๋ณต๋๋ ์์๋ ๊ฐ์ ์์๋ฅผ ๊ฐ๋๋ค.
๋ต์ |
import java.util.Scanner
fun main() = with(Scanner(System.`in`)) {
val N = nextInt()
val arr = mutableSetOf<String>()
repeat(N) {
arr.add(next())
}
val sortedArr = arr.distinct().sorted()
for (i in 0 until N) {
print(sortedArr.binarySearch(arr.elementAt(i)).toString() + " ")
}
}
์ ์ฝ๋๋ก ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค.
๊ทธ๋์ ์์ ํ ์ฝ๋
fun main() {
with(System.`in`.bufferedReader()) {
with(System.out.bufferedWriter()) {
val N = readLine().toInt()
val arr = readLine().split(" ").map(String::toInt)
val sortedArr = arr.distinct().sorted()
for (i in 0 until N) {
write(sortedArr.binarySearch(arr[i]).toString() + " ")
}
close()
}
close()
}
}