[์•Œ๊ณ ๋ฆฌ์ฆ˜๋ฌธ์ œ/2018 KAKAO BLIND RECRUITMENT] ๋‰ด์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ง

fun solution(str1: String, str2: String) : Int { val ALTHA = 65536 val regex = Regex("[a-zA-Z][a-zA-Z]") var union = 0 var intersection = 0 val str1List = str1.toList().windowed(2).mapNotNull{ list -> var newStr : String = String(list.toCharArray()).toLowerCase() if(regex.matches(newStr)) newStr else null } val str2List = str2.toList().windowed(2).mapNotNull{ list -> var newStr : String = String..

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/2020 KAKAO BLIND RECRUITMENT] ๊ธฐ๋‘ฅ๊ณผ ๋ณด ์„ค์น˜

ํ˜„์žฌ์ฝ”๋“œ ์ฐธ๊ณ  sooooooyn.tistory.com/32 [2020์นด์นด์˜ค๊ณต์ฑ„] ๊ธฐ๋‘ฅ๊ณผ ๋ณด ์„ค์น˜ https://programmers.co.kr/learn/courses/30/lessons/60061 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—… sooooooyn.tistory.com class Solution { var SIZE = -1 var pillers = mutableListOf(mutableListOf()) var beams = mutableListOf(mutableListOf()) enum class BuildOrder() { PILLER_CONSTRUCT, PILLER_DESTRUCT, BEA..

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/2020 KAKAO BLIND RECRUITMENT] ์ž๋ฌผ์‡ ์™€ ์—ด์‡ 

์ •๋‹ต์ฝ”๋“œ import kotlin.test.* import kotlin.time.* enum class Direction { `0`{ override fun x(x: Int, y: Int, size : Int) = x override fun y(x: Int, y: Int, size : Int) = y }, `90`{ override fun x(x: Int, y: Int, size : Int) = (size - 1) - y override fun y(x: Int, y: Int, size : Int) = x }, `180`{ override fun x(x: Int, y: Int, size : Int) = (size - 1) - x override fun y(x: Int, y: Int, size : Int) ..

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/2020 KAKAO BLIND RECRUITMENT] ๊ฐ€์‚ฌ ๊ฒ€์ƒ‰

ํ•ด๊ฒฐ ์ฝ”๋“œ insertํ•  ๋•Œ ์ž…๋ ฅ๋œ ํ˜„์žฌ ๋…ธ๋“œ์—์„œ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ๋‚จ์€ ๊ธ€์ž์ˆ˜ ๋ณ„๋กœ ์ €์žฅ (countEndOfWordPerDepth) ์˜ˆ๋ฅผ ๋“ค๋ฉด, "frodo" ๋‹จ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด root์— countEndOfWordPerDepth[5]++ root.children['f'].countEndOfWordPerDepth[4]++ root.children['f'].children['r'].countEndOfWordPerDepth[3]++ ๊ณผ ๊ฐ™์ด ์ €์žฅํ•ด์„œ '?'๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ „๊นŒ์ง€์˜ ๋…ธ๋“œ๋ฅผ ์ฐพ๊ณ  ํ•ด๋‹น ๋…ธ๋“œ์—์„œ '?'์˜ ๊ฐฏ์ˆ˜ ์ฆ‰ depth์— ์ €์žฅ๋œ ๋‹จ์–ด ์ˆ˜๋ฅผ returnํ•˜๋ฉด ๋น ๋ฅด๊ฒŒ ์ •๋‹ต์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. 2์ฐจ ํ•ด๊ฒฐ์ฝ”๋“œ์—์„œ ํ•˜์œ„๋…ธ๋“œ๋ฅผ ๋Œ๋ฉฐ ์ •๋‹ต์„ ๊ณ„์‚ฐํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Œ import kotlin.test.*..

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/2020 KAKAO BLIND RECRUITMENT] ๊ด„ํ˜ธ ๋ณ€ํ™˜

import kotlin.test.* class Solution { fun solution(s : String) : String { return tailrecChangeBalancedBracketToRightBracket("", s, "") } private tailrec fun tailrecChangeBalancedBracketToRightBracket(prev : String, s : String, next : String) : String { return when { s == "" -> prev + "" + next s.length == 2 -> prev + "()" + next else -> { val u = getFirstBalancedMinimum(s) val v = s.replaceFirst..

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/2020 KAKAO BLIND RECRUITMENT] ๋ฌธ์ž์—ด ์••์ถ•

https://programmers.co.kr/learn/courses/30/lessons/60057 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ฌธ์ž์—ด ์••์ถ• ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋˜๊ณ  ์‹ถ์€ ์–ดํ”ผ์น˜๋Š” ๋ฌธ์ž์—ด์„ ์••์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ์— ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ ๋น„์†์‹ค ์••์ถ• ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋ฌธ์ž programmers.co.kr ์ด์Šˆ ์ œ์ถœ ํ…Œ์ŠคํŠธ 5๋ฒˆ๋งŒ ์‹คํŒจ ํ•ด๊ฒฐ import kotlin.test.* class Solution { fun solution(s : String) : Int { var result = Int.MAX_VALUE if(s.length == 1) result = 1 for(unitCount in 1 .. (s.count() - 1)){ val zipResult..