TIL #66

loci·2024년 7월 5일
0

TIL

목록 보기
63/103


가장 큰수
해당 숫자들을 조합해 가장 큰 수를 만들어 반환해야 한다.

숫자로 어떻게든 정렬해서 가장 큰 수를 만들어 보려고 했는데 잘 안됐다.
다른 코드를 보니 숫자가 아니라 문자열로 두개씩 더해서 비교하면 합쳐졌을때 어느 숫자가 더 큰지를 구할 수 있다. 그 점을 이용해 합했을때 더 큰수를 앞으로 가게 끔 정렬해준다.


코드

class Solution {
    fun solution(numbers: IntArray): String {
        
        val s = numbers.map{it.toString()}
        
        val sortedS = s.sortedWith{ a, b ->
        (b + a).compareTo(a + b )}
        val answer = sortedS.joinToString("")
        
        return if(answer.startsWith("0")) "0" else answer
    }
}

다국저 지원 언어 설정 방법

일단 파일을 추가해준다
영어버전과 한국어버전의 파일을 각각 만들어줌

new resource file -> file name = strings -> available qualifiers 에서 Locale을 누르고 >> 버튼클릭 -> Language탭이 나오면 ko:korean 클릭 -> OK를 누르면 한국어 파일 생성됨 영어파일도 en-US를 똑같이 찾아서 추가해주면 된다.

해당파일들을 만든 후 strings파일에 들어가면 Open editor 를 누르면 에디터로 들어갈 수 있다.

에디터로 들어가면 처음에 Default Value만 나오는데

여기에서 지구+ 모양을 눌러주면 추가하고 싶은 언어들을 선택하면 선택한 언어의 탭이 추가되고 해당 탭에서 각 언어마다 설정할 텍스트를 입력해주면 자동으로 설정된다.

언어 추가시 English, Korean 탭이 추가된 걸 볼수있다

다른로직없이 이렇게만 추가 해주면 적용이 된다

splash에 로직을 넣었다가 영어로만 나오는 오류가 생겼었다.

private lateinit var configuration: Configuration

configuration = resources.configuration  
//언어 설정  
configuration.locale = Locale.KOREAN  
configuration.locale = Locale.US

xml에서 위젯이 겹쳐서 안보일때

위젯들이 겹쳤을 때 보이고 싶은 위젯이 위에 오도록 해주어야하는데 다른 위젯에 뒤에 있어서 안보일때 보이게 하려면 translationZ 로 위치를 바꿔 주면 된다.

android:translationZ="5dp"

z축으로 5dp만큼 앞으로 나오게 하는 것 같다

profile
편리한 개발자

0개의 댓글