[A&I CODE CAMP] Day2

Hood·2024년 9월 9일

A&I Code Camp

목록 보기
2/38
post-thumbnail

✍   Kotlin을 사용한 프로그래머스 Lv. 0 문제 풀기

소속중인 A&I 동아리에서 코딩역량을 강화하고자
코딩캠프를 진행하여 주말을 제외한 모든 날에 하루 5문제씩
프로그래머스 Lv.0 문제를 풀어가며 작성한 포스트입니다.
해당 포스트는 kotlin을 기반으로 작성합니다.


두 수의 나눗셈

num1과 num2만 나누는 것이 아닌 소수점 까지 나눈 값에 1000을 곱해야 한다.
파이썬과 다르게 코틀린은 나눈다고하면 몫만 구해주기 때문에 num1과 num2의 범위를 생각해
1000을 미리 곱하는 방식으로 답을 구해줬다.

class Solution {
    fun solution(num1: Int, num2: Int) = num1 * 1000 / num2
}

각도기

처음에는 when절을 생각해서 구해보려고 했는데 방법이 떠오르지 않아
일단 if문안에 in을 써서 범위를 제한해주고 변수에 값을 넣는 방식으로 만들었다.
그러다 다른사람의 답을 보니 함수의 출력에 when을 줄 수 있는 방법이 있어
감탄하며 모범 답에 넣어두었다.

class Solution {
    fun solution(angle: Int) : Int {
        var result : Int = 0
        if (angle in 1..89){
            result = 1
        }
        else if (angle == 90){
            result = 2
        }
        else if (angle in 91 .. 179){
            result = 3
        }
        else if (angle == 180){
            result = 4
        }
        return result
    }
}

내가 생각한 모범 정답

class Solution{
    fun solution(angle: Int) = when {
        (angle in 1..89) -> 1
        (angle == 90) -> 2
        (angle in 91..179) -> 3
        else -> 4
    }
}

짝수의 합

kotlin에는 step이라는 증감하는 값을 정해줄 수 있는 for문 안 문법이 있어 사용했다.

class Solution {
    fun solution (n: Int): Int{
        var answer : Int = 0
        for (i in 0..n step 2){
            answer += i
        }
        return answer
    }
}

두 수의 합

kotlin에서 덧셈은 +를 사용한다.

class Solution {
    fun solution(num1: Int, num2: Int) = num1 + num2
}

양꼬치

10인분을 먹으면 음료수 하나를 주기에 인분을 세는 매개변수 n을 10으로 나누고 그 몫이 서비스 음료수의 갯수가 될테니 2000을 곱해주었다.
그래서 다 더한 total 변수 안에 그 값을 빼주어 답을 구하였다.

class Solution {
    fun solution(n: Int, k: Int): Int {
        val service : Int = 2000 * (n / 10)
        val total : Int = (n * 12000) + (k * 2000) - service
        return total
    }
}

📌결론

아직까지는 할만한 문제풀이였다.

profile
달을 향해 쏴라, 빗나가도 별이 될 테니 👊

0개의 댓글