
소속중인 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
}
}
아직까지는 할만한 문제풀이였다.