Android 앱개발 공부/TIL(Today I Learned)

[Android] TIL 26일차

bunny code 2024. 6. 26. 17:09

숨어있는 숫자의 덧셈(1)


문제 : 문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

 

조건 : my_string 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다.

 

문제 풀이

class Solution {
    fun solution(my_string: String): Int {
        var answer = 0
        //배열형태로 변경
        var input = my_string.toCharArray()
        for(i in input){
        //isLowerCase와 isUpperCase를 이용하여 대, 소문자를 제외한 숫자 형식의 문자들만 출력
            if(i.isLowerCase()==false&&i.isUpperCase()==false)
            answer += i.toString().toInt()
        }
        return answer
    }
}

 

 

 

피자 나눠먹기(2)


문제 : 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

 

1. when문을 이용한 풀이

class Solution {
    fun solution(n: Int): Int {
        when{
        //n을 6으로 나눴을 때 나머지가 0이면 n을 6으로 나눈 몫을 출력
            n%6==0 -> return n/6
        //n을 2로 나눴을 때 나머지가 0이면 n에 3을 곱한 후 6으로 나눈 몫을 출력  
            n%2==0 -> return n*3/6
        //n을 3으로 나눴을 때 나머지가 0이면 n에 2를 곱한 후 6으로 나눈 몫을 출력  
            n%3==0 -> return n*2/6
        //그 외의 경우 n값 그대로 출력
            else -> return n
        }
    }
}

 

2. while문(무한루프문)을 이용한 풀이

class Solution {
    fun solution(n: Int): Int {
        var answer = 1
        while(true){
        //answer을 6으로 곱한 값을 n으로 나눴을 때 나머지가 0이면 return answer
            if((answer * 6)%n == 0) return answer
        //그 외의 경우 answer 값 증가 후 다시 반복문을 돌게 함
            else answer++
        }
    }
}

 

 

 

피자 나눠먹기(3)


문제 : 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

 

문제 풀이

class Solution {
    fun solution(slice: Int, n: Int): Int {
        if(n%slice==0)
        return n/slice
        else
        return n/slice+1
    }
}

'Android 앱개발 공부 > TIL(Today I Learned)' 카테고리의 다른 글

[Android] TIL 28일차  (0) 2024.06.28
[Android] TIL 27일차  (0) 2024.06.27
[Android] TIL 25일차  (0) 2024.06.25
[Android] TIL 24일차  (0) 2024.06.24
[Android] TIL 23일차  (0) 2024.06.21