์ ์ฒด ๊ธ
-
[Programmers] Lv1.์ซ์ ์ง๊ฟ(Kotlin)SW Test/Programmers 2023. 10. 15. 16:39
๋ฌธ์ ์์ ํ์ด X์ ํฌํจ๋ ๋ฌธ์๋ฅผ ์นด์ดํ ํ๋ ๋ฐฐ์ด์ ํ๋ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ Y์ ํฌํจ๋ ๋ฌธ์๊ฐ X์ ์นด์ดํ ๋ฐฐ์ด์์ 0 ์ด์์ธ ๊ฒฝ์ฐ์ ๊ณตํต๋ ์ซ์๋ฅผ ๋ด๋ ๋ฐฐ์ด์ ๊ฐ์ ๋ฃ์ต๋๋ค. ์ดํ ํฌ๊ธฐ๊ฐ ํฐ ์์๋๋ก ์ ๋ ฌํ์ฌ ๋ฐํํฉ๋๋ค. class Solution { fun solution(X: String, Y: String): String { var answer: String = "" val counts = MutableList(10){0} val nums = mutableListOf() X.forEach{ counts[it.toString().toInt()]++ } Y.forEach { if(counts[it.toString().toInt()] > 0){ nums.add(it.toString().toInt()..
-
[Programmers] Lv1. ๋ง์น ํ๊ธฐ(Kotlin)SW Test/Programmers 2023. 5. 3. 00:09
๋ฌธ์ ์์ ํ์ด n ๊ฐ์ ํฌ๊ธฐ ๋ฐฐ์ด์ ๋ง๋ ํ section์์ ๊ฐ๋ฆฌํค๋ ์ธ๋ฑ์ค์๋ true๋ก ํ๊ธฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ section์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ ์์ํ์ฌ ํด๋น ์ธ๋ฑ์ค๊ฐ true๋ฉด ํ์ธํธ ์น ์ ๋ฌด์กฐ๊ฑด ํด์ผํ๋ answer ์ 1์ ๋ํฉ๋๋ค. ์ดํ ํ์ธํธ ์น ์ ํฌ๊ธฐ์ธ m ๋งํผ ์ธ๋ฑ์ค๋ฅผ ๋ํ ํ ํ๋์ฉ ๋ฐฐ์ด์ ํ์ธํฉ๋๋ค. ํด๋น ์ธ๋ฑ์ค๊ฐ false๋ฉด 1์ฉ ๋ํด ํ์ธํธ ์น ํด์ผ ํ๋ ๊ณณ์ ์ฐพ๊ณ n ๊น์ง ํ์ธํ์์ผ๋ฉด ์ข ๋ฃํฉ๋๋ค. class Solution { fun solution(n: Int, m: Int, section: IntArray): Int { var answer: Int = 0 val arr = Array(n+1){false} section.forEach{ arr[it] = true} var idx..
-
[Programmers] Lv1. ๋์ถฉ ๋ง๋ ์ํ(kotlin)SW Test/Programmers 2023. 5. 2. 23:15
๋ฌธ์ ์์ ํ์ด targets ์์ ํ๋๋น ์ต์ ํค๋ฅผ ๋ช ๋ฒ ๋๋ฅด๋์ง ์์์ผ ํฉ๋๋ค. ๋ฌธ์์ด์ ๋ฌธ์ ํ๋์ฉ keymap์์ ์กฐํํ์ฌ ๊ฐ์ฅ index๊ฐ ์์ ๊ฒ์ ํํด์ผ ํฉ๋๋ค. ํ์ง๋ง, ์ด ๋ ๋ชจ๋ keymap์ ์ฐพ๊ณ ์ ํ๋ ๋ฌธ์๊ฐ ์์ ๊ฒฝ์ฐ๋ ๋ฌธ์์ด ์์ฒด๋ฅผ keymap์ ํตํด์ ๋ง๋ค ์ ์๋ค๋ ๋ง๊ณผ ๊ฐ์ต๋๋ค. ๋ฐ๋ผ์, check ๋ณ์๋ฅผ ํตํด ํ๋์ ๋ฌธ์์์ ์ฐพ์ ์ ์์ ๊ฒฝ์ฐ๋ -1์ ๋ฐํํ๋๋ก ํด์ผํฉ๋๋ค. ๋ฌธ์์ด์ ์ฐพ์ ์ ์์ ๋ fold ์ฐ์ฐ์๋ฅผ ํตํด์ (index + 1)์ ๋ํ ๊ฐ์ ๋ฐํํ๋ฉด ๋ฉ๋๋ค. import kotlin.math.* class Solution { fun solution(keymap: Array, targets: Array): IntArray = targets.map{ ta..
-
[Programmers] Lv1. ๋ฐํํ๋ฉด ์ ๋ฆฌ(Kotlin)SW Test/Programmers 2023. 4. 26. 00:31
๋ฌธ์ ์์ ํ์ด ๋จผ์ ํ์ผ์ด ์๋ ๊ณณ์ y, x ์ขํ๋ฅผ ์ฐพ์ต๋๋ค. ์ข์๋จ์ y์ขํ๋ ํ์ผ๋ค์ y ๊ฐ๋ค ์ค ๊ฐ์ฅ ์ต์๊ฐ์ด ๋ฉ๋๋ค. ์ข์๋จ์ x์ขํ๋ ๋์ผํ๊ฒ ํ์ผ๋ค์ x ๊ฐ๋ค ์ค ๊ฐ์ฅ ์ต์๊ฐ์ด ๋ฉ๋๋ค. ์ฐํ๋จ์ y์ขํ๋ ํ์ผ๋ค์ ( y + 1 ) ๊ฐ๋ค ์ค ๊ฐ์ฅ ์ต๋๊ฐ์ด ๋ฉ๋๋ค. ์ฐํ๋จ์ x์ขํ๋ ํ์ผ๋ค์ ( x + 1 ) ๊ฐ๋ค ์ค ๊ฐ์ฅ ์ต๋๊ฐ์ด ๋ฉ๋๋ค. import kotlin.math.* class Solution { fun solution(wallpaper: Array): IntArray = intArrayOf(Int.MAX_VALUE, Int.MAX_VALUE, Int.MIN_VALUE, Int.MIN_VALUE).apply{ wallpaper.forEachIndexed{ index, paper ->..
-
[Programmers] Lv1. ๊ณต์์ฐ์ฑ (kotlin)์นดํ ๊ณ ๋ฆฌ ์์ 2023. 4. 19. 01:12
๋ฌธ์ ์์ ํ์ด ์๋ฎฌ๋ ์ด์ ๊ธฐ๋ฒ์ผ๋ก ํ๋์ฉ routes์ ์กด์ฌํ๋ ๋ฐฉํฅ, ๊ฑฐ๋ฆฌ๋งํผ ์ด๋ํ ํ ํ์ธํ๋ฉด ๋ฉ๋๋ค. isInside ํจ์๋ฅผ ๋ฏธ๋ฆฌ ์ ์ํด๋์ด ์ขํ ๋ฐ์ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ ์ฒดํฌ ์ขํ ์์ ์๋๋ผ๋ 'X' ํ๊ธฐ๋ ๋ถ๋ถ์ผ๋ก ์ฅ์ ๋ฌผ์ผ ๊ฒฝ์ฐ ์ฒดํฌ ์ขํ ์์ ์๊ณ ์ฅ์ ๋ฌผ๋ ์๋๋ผ๋ฉด ์์น ์ด๋ class Solution { val dir = mapOf("E" to (0 to 1), "N" to (-1 to 0), "W" to (0 to -1), "S" to (1 to 0)) fun isInside(a: Int, b: Int, y:Int, x: Int) = 0
-
[Programmers] Lv1. ์ถ์ต์ ์(kotlin)SW Test/Programmers 2023. 4. 13. 23:18
๋ฌธ์ ์์ ํ์ด name์ ์์ผ๋ฉด ํด๋น ์ ์๋ฅผ ๋ํ๊ณ ์์ผ๋ฉด 0์ผ๋ก ๋ํ๋ฉด ๋ต์ ๊ตฌํ ์ ์์ต๋๋ค. class Solution { fun solution(name: Array, yearning: IntArray, photo: Array): IntArray = photo.map{ names -> names.foldIndexed(0){ index, acc, i -> acc + if(name.indexOf(i) >= 0) yearning[name.indexOf(i)] else 0 } }.toIntArray() } ์ฐธ๊ณ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ kotlin์ ํน์ฑ์ ๋ง๊ฒ ํจ์๋ฅผ ๋ง์ด ์ตํ์ ๐ฝ https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/fo..
-
[Programmers] Lv1. ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ(Kotlin)SW Test/Programmers 2023. 4. 11. 01:40
๋ฌธ์ ์์ ํ์ด Hash (map)์ ์ฌ์ฉํ์ง ์๋๋ผ๋ ๋ต์ ๊ตฌํ ์๋ ์์ต๋๋ค. callings์ ๋์จ ๋ฌธ์์ด์ ํด๋นํ๋ index๋ฅผ indexOf ํจ์๋ฅผ ์ด์ฉํด์ ์ง์ ์ฐพ๊ณ ์ด์ ๊ฐ๊ณผ swap์ ํ๋ฉด ๋ฉ๋๋ค. ํ์ง๋ง ์ด ๊ฒฝ์ฐ ์๊ฐ๋ณต์ก๋๋ callings๊ฐ 1,000,000 ์ด๊ณ players๊ฐ 50,000 ์ด์ฌ์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ถ๊ฐํผํฉ๋๋ค. ๋ฐ๋ผ์ ๋น ๋ฅธ ๊ฒ์์ด ๊ฐ๋ฅํ mutableMapOf ํจ์๋ฅผ ์ฌ์ฉํ์ฌ index๋ง ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์จ ํ value ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ๋ฉ๋๋ค. ์ฐธ๊ณ ๋ก mutableMapOf๋ LinkedHashMap์ ์์ฑํ๋ ํจ์๋ก HashTable ํํ๋ก ๊ตฌํ๋์ด ์์ผ๋ฉฐ Double Linked๋ก Entry๋ฅผ ๊ด๋ฆฌํ์ฌ ์์๋ ๋ณด์ฅ๋ฉ๋๋ค. class Solution { fun solution..
-
[Programmers] Lv2.๋ชจ์์ฌ์ (kotlin)SW Test/Programmers 2022. 10. 22. 18:22
๋ฌธ์ ์์ ํ์ด ๋ฐฑํธ๋ํน ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์์ต๋๋ค. class Solution { val list = mutableSetOf() fun getResult(word: String,idx: Int, str: String){ if(idx == str.length){ list.add(word) }else{ for(ch in str){ getResult(word + ch, idx+1, str) } getResult(word, idx+1, str) } } fun solution(word: String): Int { getResult("", 0, "AEIOU") return list.toList().sorted().indexOf(word) } } ์ฐธ๊ณ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ kotlin์ ํน์ฑ์ ๋ง๊ฒ ..