본문 바로가기

전체 글100

TIL: Kotlin컨벤션 Kotlin 컨벤션 언어에 맞춤법이 있듯이 코드를 치는데도 맞춤법 비스무리한 게 있다. 이렇게 쓰자하고 합의한 것들. 이렇게 안해도 작동은 하지만 내가 아닌 다른 사람들이 볼 때 매우매우 불편하므로 지켜주는 게 좋다. 예를 들자면 "이렇게붙여써도뜻은문제가없지만읽을때매우불편하다" 와 "이렇게 붙여 써도 뜻은 문제가 없지만 읽을 때 매우불편하다" 중에 어떤 것이 더 읽기 편한가? 그러니 되도록 가이드에 맞게 쓰는 게 좋다. 소스파일 UTF-8 인코딩 이클립스를 처음 깔고 파일을 열었을 때 외계어가 나왔던 기억이 난다... 표준으로 맞춰준다. 이름 지정 // MyClass.kt class MyClass { } // Bar.kt class Bar { } fun Runnable.toBar(): Bar = // ….. 2023. 11. 27.
코틀린 1.repeat() 2.count() 3.함수 안될 때 .repeat() /** * Executes the given function [action] specified number of [times]. * * A zero-based index of current iteration is passed as a parameter to [action]. * * @sample samples.misc.ControlFlow.repeat */ @kotlin.internal.InlineOnly public inline fun repeat(times: Int, action: (Int) -> Unit) { contract { callsInPlace(action) } for (index in 0 until times) { action(index) } } 사용 예시 // greet.. 2023. 11. 24.
TIL(코틀린, requestFocus(), 특정 로그만 보는 방법 val button = findViewById(R.id.editTextNumber) button.requestFocus() 커서를 이동시키는 함수이다. 로그 보는 방법 Log.v() 함수 의미 설명 Log.v() verbose 상세 내용 Log.d() debug 개발에 필요한 내용 Log.i() information 정보 Log.w() warning 경고. 에러는 아니지만 주의해야함 Log.e() error 에러 메시지 로그만 골라보는 법 level:verbose level:debug level:info level:warn level:error Log.d(tag, "할말") 첫번째 매개변수에 태그를 삽입하여 검색하면 더 쉽게 로그를 찾아볼 수 있다. 2023. 11. 23.
프로그래머스: 옹알이 (2) class Solution { fun solution(babbling: Array): Int { var answer: Int = 0 val pos = arrayOf( "aya", "ye", "woo", "ma") val pos2 = arrayOf( "ayaaya", "yeye", "woowoo", "mama") for(str in babbling){ var word = str for(i in pos.indices){ if(word.contains(pos2[i])){ continue }else if(word.contains(pos[i])){ word=word.replace(pos[i],"|") }else{ continue } } word=word.replace("|","") if(word == ""){ a.. 2023. 11. 23.
프로그래머스: 기사단원의 무기 import kotlin.math.sqrt class Solution { fun findDivisor (n:Int): Int{ var answer:Int = 0 var array=intArrayOf() var sqrtNum = sqrt(n.toDouble()).toInt() for (i in 1 .. sqrtNum ){ if(n%i==0){ array+=i if(n/i != i) array+=n/i } } answer=array.size return answer } fun solution(number: Int, limit: Int, power: Int): Int { var array= intArrayOf() for(n in 1 .. number){ if(findDivisor(n) 2023. 11. 22.
maxOrNull, minOrNull. Kotlin 분명 블로그 같은데서 min(),max()를 하면 된다고 했는데 안먹혀서 찾아보니 minOrNull() maxOrNull() 이라고 치니 작동한다. 코틀린 14.0부터 바뀌었다고 한다. 빈 리스트에서 사용시 null을 반환한다. 2023. 11. 21.
공지 야겜공략 겸 리뷰는 거의 올리지 않을 생각입니다. 이미 레드오션인 게임리뷰 포스팅에서 블루오션을 찾아 성인겜을 리뷰&공략했는데 블루오션인데는 이유가 있었네요. 심의로 줄타기하다가 경고를 여러번 먹어서 잘못하면 블로그 폐쇄해야할수도 있어서 올리더라도 스샷없이 그냥 공략에 필요한 것만 올릴 거 같습니다. 2023. 11. 20.
20231120 프로그래머스 명예의전당, 2016년 코틀린 내 코드는 성능이 좋다고는 자신할 수 없다. 일단 배우는 입장으로써 원하는 값이 나오는가에 중점을 두고 작성한다. 다른 사람들의 풀이를 보면 인라인으로 잘만 돌리는데 필자는 그렇게 하려면 헷갈린다. 내부에서 어떻게 돌아가는지 파악하기가 힘들기 때문에. class Solution { fun solution(k: Int, score: IntArray): IntArray { var answer: IntArray = intArrayOf() var list = mutableListOf() for(i in score.indices){ list.add(score[i]) list=list.sortedDescending().take(k).toMutableList() answer+=list.minOf { it } } re.. 2023. 11. 20.
코틀린(kotlin) 정리 변수 선언 방법 var 변수명 = 값 //일반적인 선언 var 변수명: Int //선언만 했을 때 자료형을 명시해주어야함 특이한 것이 자바는 Int 변수명... 이런 식으로 하는데 코틀린에서는 : Int 이런 식으로 자료형을 명시해주어야한다. 자바를 약간 배워본 입장에서는 자바스크립트+자바가 섞인 거 같은 느낌을 받았다. 일단 자료형이 뭔지 알 수 있어서 여기에 어떤 값이 들어가는거지?하고 헷갈리는 일은 없을 듯 하다. Float 값을 쓸 때 var 숫자: Float 숫자 = 123.456F // Double과 Float를 구분하기 위해 숫자 뒤에 F를 붙여준다. Int 값을 쓸 때 var 숫자 = 1123132 var 숫자2 = 123_456_789 // 이렇게 중간에 _를 써도 위에 값이랑 똑같이 읽.. 2023. 10. 30.