-
[Programmers] Lv1. 2019 KAKAO BLIND RECUITMENT ์คํจ์จ(kotlin)SW Test/Programmers 2022. 5. 26. 23:26๋ฐ์ํ
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/42889?language=kotlin ์์
https://programmers.co.kr/learn/courses/30/lessons/42889?language=kotlin ํ์ด
- ๊ฐ ์คํ ์ด์ง๋ณ๋ก ๋จธ๋ฌด๋ ์ฌ์ฉ์์ ์๋ฅผ ๋ฐฐ์ด๋ก ํํ ( N+1 ๊น์ง ์์ ์ ์์ด์ N+2 ํฌ๊ธฐ์ ๋ฐฐ์ด ์์ฑ )
- ํด๋น ์คํ ์ด์ง์ ๋จธ๋ฌด๋ ์ฌ์ฉ์ ์ / ์คํ ์ด์ง๋ฅผ ๋์ ํ๋ ์ด ์ฌ์ฉ์์ ์๋ฅผ ๊ณ์ฐ
- ์คํ ์ด์ง์ ์คํจ์จ์ด ๋์ผ๋ฉด์ ์คํ ์ด์ง ๋ฒํธ๊ฐ ๋ฎ์ ์์ผ๋ก ์ ๋ ฌ ํ ์คํ ์ด์ง ๋ฒํธ๋ง ์ถ๋ ฅ
class Solution { fun solution(N: Int, stages: IntArray): IntArray { val answer = IntArray(N+2) // ์คํ ์ด์ง์ ๋จธ๋ฌด๋ ์ฌ์ฉ์๋ฅผ ๋ด๋ ๋ฐฐ์ด stages.forEach{ answer[it]++ } var total = stages.size val list = mutableListOf<Pair<Int, Double>>() for(i in 1..N){ // ์คํ ์ด์ง์ ๋จธ๋ฌด๋ ์ฌ์ฉ์ ์ / ์คํ ์ด์ง ๋์ ํ๋ ์ด ์ฌ์ฉ์ ์ list.add(Pair(i, answer.get(i) / total.toDouble())) total -= answer.get(i) } // ์คํ ์ด์ง ์คํจ์จ์ด ๋์ผ๋ฉด์ ์คํ ์ด์ง ๋ฒํธ๊ฐ ๋ฎ์ ์์ผ๋ก ์ ๋ ฌ return list.sortedWith(compareBy({-it.second}, {it.first})).map { it.first }.toIntArray() } }
์ฐธ๊ณ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ kotlin์ ํน์ฑ์ ๋ง๊ฒ ํจ์๋ฅผ ๋ง์ด ์ตํ์ ๐ฝ
- https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sorted-with.html
sortedWith - Kotlin Programming Language
kotlinlang.org
compareBy - Kotlin Programming Language
kotlinlang.org
๋ฐ์ํ'SW Test > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] Lv1.๋ชจ์๊ณ ์ฌ(kotlin) (0) 2022.06.04 [Programmers] Lv1.์ฒด์ก๋ณต(kotlin) (0) 2022.06.02 [Programmers] Lv1.N^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ(Kotlin) (0) 2021.11.15 [Programmers] Lv1. ์ต์์ง์ฌ๊ฐํ(Kotlin) (0) 2021.11.12 [Programmers] Lv2. ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ (0) 2020.12.06