지나간 코드는... 지니간 대로... 그런 의미가... 있죠...
오늘은 바로 코드 카타를 뒤로 미루고 프로젝트 이야기를 해보겠습니다.
오늘은 프로젝트 기간 중 마지막 평일입니다.
그래서 최대한 할 수 있는 만큼 해봤습니다.
일단 오전에는 아직 진도가 느리신 팀원분을 도와드렸습니다.
그리고 오후에는 스크림 이후, 레이아웃을 다듬고, 기능을 추가했습니다.
현재 남은 부분은 자료를 넣는 부분과 선택적으로 애니메이션이나 모션을 넣는 건데,
애니메이션, 모션 부분까지 가능할지는 잘 모르겠네요.
오늘의 코드 카타는 가장 큰 수입니다.
문제 설명 자체는 굉장히 쉽습니다. 0 또는 양의 정수가 있을 때, 해당 정수들을 갖고, 가장 큰 수를 만드는 내용입니다.
class Solution {
fun solution(numbers: IntArray): String {
var answer = ""
val maxLen = numbers.maxOf { it }.toString().length
var nStr: ArrayList<String> = arrayListOf()
for(i in numbers) {
var iStr = i.toString()
while(iStr.length < maxLen) {
iStr = StringBuilder(iStr + iStr[iStr.lastIndex]).toString()
}
nStr += iStr
}
var pair = nStr.mapIndexed{index, string -> Pair(index,string.toInt())}
pair = pair.sortedByDescending { it.second }
val list = pair.map { it.first }
var answerBuilder = StringBuilder()
for(i in list) {
answerBuilder.append(numbers[i])
}
answer = answerBuilder.toString()
return answer
}
}
위의 코드가 제 코드이고, 방식은 최대 크기를 가진 수에 맞춰 모든 수를 가장 뒤에 있는 수로 대체하는 방식으로 비교합니다.
하지만, 틀렸네요...
오늘은 이만 프로젝트 마무리하러 가겠습니다!!!!
끝.