Kotlin/Kotlin문제풀이
Programmers Kotlin 문제 풀이 31 ~ 40
Happy._.
2024. 5. 7. 06:25
수박수박수박수박수박수?
https://school.programmers.co.kr/learn/courses/30/lessons/12922
class Solution {
fun solution(n: Int): String {
var result = ""
for (num in 1..n) {
if (num % 2 == 0) result += "박" else result += "수"
}
return result
}
}
내적
https://school.programmers.co.kr/learn/courses/30/lessons/70128
class Solution {
fun solution(a: IntArray, b: IntArray): Int {
val resultArray = IntArray(a.size)
a.forEachIndexed { index, n -> resultArray[index] = n * b[index] }
return resultArray.sum()
}
}
약수의 개수와 덧셈
https://school.programmers.co.kr/learn/courses/30/lessons/77884
class Solution {
fun solution(left: Int, right: Int): Int {
val itemList = arrayListOf<Int>()
var count = 0
for (num1 in left..right) {
for (num2 in 1..num1) {
if (num1 % num2 == 0) {
count++
}
}
if (count % 2 == 0) {
itemList.add(num1)
} else {
itemList.add(num1 * (-1))
}
count = 0
}
return itemList.sum()
}
}
문자열 내림차순으로 배치하기
https://school.programmers.co.kr/learn/courses/30/lessons/12917
class Solution {
fun solution(s: String): String {
return s.toList().sorted().reversed().joinToString("")
}
}
부족한 금액 계산하기
https://school.programmers.co.kr/learn/courses/30/lessons/82612
class Solution {
fun solution(price: Int, money: Int, count: Int): Long {
val result = money.toLong() - 1.rangeTo(count).map{it * price.toLong()}.sum()
if (result > 0) return 0L else return (result * (-1))
}
}
문자열 다루기 기본
https://school.programmers.co.kr/learn/courses/30/lessons/12918
class Solution {
fun solution(s: String): Boolean {
if (s.length == 4 || s.length == 6) {
val length = s.filter { '0'.rangeTo('9').contains(it) }.length
if (length == s.length) {
return true
}
}
return false
}
}
행렬의 덧셈
https://school.programmers.co.kr/learn/courses/30/lessons/12950
class Solution {
fun solution(arr1: Array<IntArray>, arr2: Array<IntArray>): Array<IntArray> {
val result = Array(arr1.size) { IntArray(arr1[0].size) }
arr1.forEachIndexed { index1, ints ->
val tempArray = IntArray(ints.size)
ints.forEachIndexed { index2, it ->
tempArray[index2] = it + arr2[index1][index2]
}
result[index1] = tempArray
}
return result
}
}
직사각형 별찍기
https://school.programmers.co.kr/learn/courses/30/lessons/12969
fun main(args: Array<String>) {
val (a, b) = readLine()!!.split(' ').map(String::toInt)
for(i in 1..b) {
for(j in 1..a) {
print("*")
}
println()
}
}
최대공약수와 최소공배수
https://school.programmers.co.kr/learn/courses/30/lessons/12940
class Solution {
fun solution(n: Int, m: Int): IntArray {
val intArray = IntArray(2)
// 최대 공약수 - 작은 수를 기준으로 나누기 진행
for (i in n downTo 1) {
if (n % i == 0 && m % i == 0) {
intArray[0] = i
break
}
}
// 최소 공배수 - 큰 수를 기준으로 곱하기 진행
for (i in 1..m) {
if (m * i % n == 0) {
intArray[1] = m * i
break
}
}
return intArray
}
}
3진법 뒤집기
https://school.programmers.co.kr/learn/courses/30/lessons/68935
class Solution {
fun solution(n: Int): Int {
return n.toString(3).reversed().toInt(3)
}
}