2024. 6. 7. 01:00ㆍ코딩테스트
오늘도 코딩테스트 푼 것을 정리하고자 한당
휴 꾸준히 하는게 쉬운게 아니구먼,,
그래도 노력하면 좋은 결과가 생기겠지 ?
// 주사위 게임 1
class Solution {
fun solution(a: Int, b: Int): Int {
var answer: Int = 0
if(a%2 == 1 && b%2 == 1){
answer = a * a + b * b
} else if(a % 2 == 1 || b % 2 == 1){
answer = 2 * (a + b)
} else answer = Math.abs(a - b)
return answer
}
}
a와 b가 둘 다 홀수일 경우에는 a2 + b2 , a나 b 둘중의 하나만 홀수일 경우에는 2 × (a + b) 을, 둘 다 홀 수가 아니라면
|a - b|을 구하는 문제였다...
|a - b|는 절댓값을 구하라는 것인데,,, 이런 함수가 있는지 처음 알았다.
math.abs으로 절댓값을 구할 수 있다고 한다! 이때 math는 수학적인 함수와 상수를 제공하는 기본 모듈이라고 한다 ㅠ
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.math/
kotlin.math - Kotlin Programming Language
kotlinlang.org
// n의 배수 고르기
class Solution {
fun solution(n: Int, numlist: IntArray): IntArray {
var answer: IntArray = intArrayOf()
for(i in numlist) if (i % n == 0) answer += i
return answer
}
}
n의 배수이면 나머지가 0일테니 % 연산자를 이용해서 해당된 값만 answer 값에 넣어주는 식으로 하였다...
그래서 n의 배수만 담기게 된다,,, ㅎㅎ
그동안 풀었던 문제와 별 다르지 않아서 수월히 풀 수 있었다.
// A 강조하기
class Solution {
fun solution(myString: String): String = myString.toLowerCase().replace("a","A")
}
replace 을 사용하여 a를 A로 바뀌어 강조할 수 있도록 변환시켜주었다.
fun solution(myString: String): String = myString.lowercase().replace("a","A")
여기선 toLowerCase 대신 lowercase로 풀어도 무방했다...
// 9로 나눈 나머지
class Solution {
fun solution(number: String): Int = number.sumOf { it.toString().toInt() } % 9
}
말 그대로 9로 나눴을 때의 나머지의 값을 구하는 것이다..
그래서 sumof 를 사용하여 sum 합계 계산하였다... int으로 반환해주는 것으로 toInt를 사용해주었고! 9의 나머지 값을 구하는 것으로 끝 부분에 % 9를 추가로 붙여주었다...
헉 ,, 이건 생각보다 어려웠더,,
다시 풀어봐야겠당 ㅠㅠ
// 두수의 합
class Solution {
fun solution(a: String, b: String): String {
val aa = a.toBigInteger()
val bb = b.toBigInteger()
val sum = aa + bb
return sum.toString()
}
}
그냥 보통의 두 수의 합이었으면 int로 해도 무방하지만,,
아래 예시를 주고
18446744073709551615, 287346502836570928366
두 수의 합이 되도록 하게했으므로 toBigInteger를 사용해줘서 했다!
// 배열 만들기
class Solution {
fun solution(n: Int, k: Int) = (k..n step k).toList()
}
k부터 시작해서 n까지의 값을 k 만큼 증가해서 리스트화 하게 하여 해당 값을 구해주었다.
위에 있는 n의 배수와 그다시 큰 차이는 없는 문제로,, 어렵진 않았다 ㅎㅎ
하지만 여기서 살짝 어려워지면 고민이 더 필요해질 테니,, 꼭 꼭 다시 여러 번 풀어봐야겠당
'코딩테스트' 카테고리의 다른 글
TIL 20240613 코딩 테스트(10) (0) | 2024.06.13 |
---|---|
TIL 20240609 코딩 테스트(9) (0) | 2024.06.09 |
TIL 20240605 코딩테스트 (7) (1) | 2024.06.05 |
TIL 20240601 코딩테스트 (6) (0) | 2024.06.01 |
TIL 20240528 코딩테스트 (5) (2) | 2024.05.28 |