SW Test
-
[Programmers] Lv2. ํผ๋ก๋(kotlin)SW Test/Programmers 2022. 10. 22. 17:07
๋ฌธ์ ์์ ํ์ด ๋ฐฑํธ๋ํน ๊ธฐ๋ฒ์ ์ด์ฉํ๋ฉด ์์ฝ๊ฒ ํ ์ ์์ต๋๋ค. import kotlin.math.* class Solution { var answer = -1 fun getResult(k: Int, dungeons: Array, check: List){ var flag = false for(i in 0 until check.size){ if(!check[i] && k >= dungeons[i][0]){ flag = true getResult(k-dungeons[i][1], dungeons, check.toMutableList().apply{ this[i] = true }) } } if(!flag){ answer = max(answer, check.count{it}) } } fun solution(k:..
-
[Programmers] Lv2. ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ(kotlin)SW Test/Programmers 2022. 10. 22. 17:02
๋ฌธ์ ์์ ํ์ด ๋ ๊ฐ์ map์ ํตํด ํ๋๋ ์ /์ถ์ฐจ ๊ธฐ๋ก๊ณผ ํ๋๋ ํด๋น ์ฐจ๋์ ์ ์ฒด ์๊ฐ์ ๊ธฐ๋กํ์๋ฉด ๋ฉ๋๋ค. import kotlin.math.* class Solution { fun solution(fees: IntArray, records: Array): IntArray { val score = mutableMapOf() var map = mutableMapOf() records.forEach{ record -> val rl = record.split(" ") val time = rl.get(0).split(":").let{ it.first().toInt()* 60 + it.last().toInt()} val num = rl.get(1) if(map.contains(num)){ score.put..
-
[Programmers] Lv2.k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ(kotlin)SW Test/Programmers 2022. 10. 12. 17:57
๋ฌธ์ ์์ ํ์ด ์์ ์ฐพ๊ธฐ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ง ๋ง์ด ์์ผ๋ ์๋ตํ๊ฒ ์ต๋๋ค. ํด๋น ๋ฌธ์ ์์๋ k์ง์๋ก ๋ณ๊ฒฝ ์์ Int์ ํฌ๊ธฐ ์๋ฆฌ์๋ณด๋ค๋ ์ปค์ง๊ธฐ ๋๋ฌธ์ ์์ ํ๋ณํจ์์์๋ Long์ผ๋ก ์ ์ธํด์ผ ํฉ๋๋ค. StringBuilder์ ํ๋์ฉ ๋๋ ์ ์ถ๊ฐํ์ง๋ง, toString(k) ๋ผ๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ก ๊ตฌํ ์ ์๋ค๊ณ ํฉ๋๋ค. ๐ ์ญ์ ๋ ๋ค์ ํ๋ฒ ํจ์๋ฅผ ๋ง์ด ์์์ผ ๋ชธ์ด ๊ณ ์ํ์ง ์๋๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ฒ ๋๋ค์ . import kotlin.math.* class Solution { fun isPrime(n: Long): Boolean{ if(n == 1L) return false (2..sqrt(n.toDouble()).toLong()).forEach{ if(n%it == 0L) return false ..
-
[Programmers] Lv2.ํ๋ฆฐํฐ(kotlin)SW Test/Programmers 2022. 9. 30. 18:38
๋ฌธ์ ์์ ํ์ด ๋ฌธ์๋ฅผ ๋นผ๊ณ ์ค์ํ ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์ ๋ค๋ก ์ถ๊ฐํ๋ ๋ฐฉ์์ ์ ํ์ ์ธ ํ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. kotlin์๋ ๋ด์ฅ๋ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๊ธฐ ๋๋ฌธ์ java์ LinkedList ๋ฅผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค. import java.util.* class Solution { fun solution(priorities: IntArray, location: Int): Int { var answer = 0 val plist = priorities.sortedByDescending{it} var pidx = 0 val q = LinkedList().apply{ priorities.forEachIndexed { index, i -> add(Pair(index, i))} } while(q.isNotEmpty()..
-
[Programmers] Lv2. ์์ฅ(kotlin)SW Test/Programmers 2022. 9. 25. 21:46
๋ฌธ์ ์์ ํ์ด class Solution { fun solution(clothes: Array): Int = clothes.groupBy { it.last() } // ์์์ ์ข ๋ฅ ๊ทธ๋ฃนํ .mapValues { it.value.map { it.first() }} // ์์์ ์ด๋ฆ๋ง ๊ฐ์ง๋๋ก ๋ณํ .map { it.value } // ํค ๊ฐ์ผ๋ก๋ง ๊ตฌ์ฑ๋ ๋ฆฌ์คํธ ?.let { it.fold(1){acc, list -> acc*(list.size + 1) } - 1} // ๊ฐ ๋ฆฌ์คํธ์ ๊ฐฏ์ + 1 ์ ๊ณฑํ ํ - 1 } ์ฐธ๊ณ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ kotlin์ ํน์ฑ์ ๋ง๊ฒ ํจ์๋ฅผ ๋ง์ด ์ตํ์ ๐ฝ https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collectio..
-
[Programmers] Lv2. ํํ(kotlin)SW Test/Programmers 2022. 9. 24. 21:13
๋ฌธ์ ์์ ํ์ด ์ ๋ฌธ์ ๋ ๋ฌธ์์ด๋ก ์ฃผ์ด์ง๋ ์ ๋ ฅ๊ฐ์ 2์ค ๋ฆฌ์คํธ๋ก๋ง ๋ณ๊ฒฝํ๋ฉด ์ฌ์ด ๋ฌธ์ ์ ๋๋ค. ์ ๋ split์ ํ๋ ๊ธฐ์ค์ "},"๋ก ์ก์๊ณ ์ดํ ๊ฐ ๋ฌธ์์ด์์ '{'์ '}'๋ ๋น ๊ณต๊ฐ์ผ๋ก ๋ณ๊ฒฝํ์์ต๋๋ค. ํํ์ ๋ง๋ค๊ธฐ ์ํด์๋ ๋ฆฌ์คํธ ๋ด ๋ฆฌ์คํธ ์์ ๊ฐฏ์๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ์ ์์ผ์ผ ์ฌ๋ฐ๋ฅธ ๋ต์ ๊ตฌํ ์ ์์ต๋๋ค. ์ดํ ์ค๋ณต์ด ๋์ง ์๋๋ก answer ๋ฆฌ์คํธ์ ๋ํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์ด๋ฅผ ํ๋์ฉ ํด๋ ๋์ง๋ง fold ํจ์์ set์ ํน์ง์ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์์ต๋๋ค. class Solution { fun solution(s: String): IntArray { var answer = mutableListOf() val list = s.split("},").map{ it.replace('{',' ')..
-
[Programmers] Lv2. ๊ดํธ ํ์ ํ๊ธฐ(kotlin)SW Test/Programmers 2022. 9. 23. 17:36
๋ฌธ์ ์์ ํ์ด Stack์ ์ด์ฉํ ๋ํ์ ์ธ ๋ฌธ์ ์ธ ๊ดํธ ์ฐพ๊ธฐ์ ๋๋ค. Stack ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ kotlin์ ์๊ธฐ์ Java Util ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ๋ Stack์ ์ด์ฉํ์๋ฉด ๋ฉ๋๋ค. import java.util.* class Solution { fun solution(s: String): Int { var answer: Int = 0 var tempStr = s first@ (1..s.length).forEach{ tempStr = tempStr.substring(1, tempStr.length) + tempStr.first() val stack = Stack() for(ch in tempStr){ if(stack.size == 0){ stack.add(ch) }else{ if(ch in arrayO..
-
[Programmers] Lv2. ์์๋์งํ(kotlin)SW Test/Programmers 2022. 9. 20. 01:13
๋ฌธ์ ์์ ํ์ด (1,2), (3,4), (5,6) .. ์ด๋ ๊ฒ ๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ฌ์ผ ํ๋ค. ์ด๋ฅผ ์ํด์๋ ๋จ์ํ 2๋ก ๋๋๋ฉด ๊ฐ์ ๊ฐ์ด ์๋์ค๊ธฐ์ 2๋ก ๋๋ ๋ชซ๊ณผ 2๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๋ํ๋ฉด ๊ฐ์ ๊ฐ์ ๊ฐ๋ฆฌํค๊ฒ ๋๋ค. (1,1), (2,2), (3,3) ... ๋ฐ๋ผ์ ํด๋น ๋ ๊ฐ์ด ๊ฐ์ผ๋ฉด ์ข ๋ฃ์ํค๋ฉด ๋ฉ๋๋ค. class Solution { fun solution(n: Int, a: Int, b: Int): Int { var answer = 0 var first = if(a>b) b else a var second = if(a>b) a else b while(second - first > 0){ first = first/2 + first%2 second = second/2 + second%2 answer++..