Android Kotlin 정예반 과제

이성진·2023년 8월 9일
3

TIL

목록 보기
9/95

Android Kotlin을 이용한 프로그래밍 연습을 통해 다양한 조건과 반복문을 사용하는 방법을 배워보겠습니다. 여기서 제가 작성한 다섯 가지 연습 문제와 그 해결 방법을 정리해보겠습니다.

1. 2 와 3의 배수 찾기

  • 사용자로부터 1부터 100 사이의 숫자를 입력받아 , 이 숫자가 2의 배수 , 3의 배수 , 또는 둘 다 아닌지를 판별합니다. if-else 구문을 사용하여 각 조건을 확인하고 적정한 메시지를 출력합니다.
package com.example.calculateprictice

fun main() {

    print("숫자를 입력하세요:")

    val inputNum = readLine()?.toIntOrNull()

  if (inputNum == null || inputNum > 100) {

        println("100이하의 유효한 숫자를 입력해주세요.")
    }

       else {
       
       if (inputNum % 2 == 0 && inputNum % 3 == 0) {

            println("${inputNum}은 2의 배수 이면서 3의 배수 입니다.")
        }

       else if (inputNum % 2 == 0) {

            println("${inputNum}은 2의 배수 입니다.")
        }

      else if (inputNum % 3 == 0) {

            println("${inputNum}은 3의 배수 입니다.")
        }

       else {

            println("${inputNum}은 2의 배수이면서 3의 배수도 아닙니다.")
        }
    }
}

2. 2부터 100까지의 소수들의 합 계산

  • 2 부터 100 사이의 모든 소수를 찾아 그 합을 계산합니다. 여기서는 사용자 정의 함수 isPrime 을 통해 소수를 판별하고 for 반복문을 사용해 합을 구합니다.
package com.example.calculateprictice

fun main() {

    var sum = 0

 for (num in 2..100){

      if ( isPrime(num) ){

           sum = sum + num

        }
    }
    
    println("2부터 100까지 소수들의 합 : $sum")

}

fun  isPrime(number : Int) : Boolean {

   if (number <= 1) {
        
        return false
  
    }

   for (i in 2 until number) {

       if (number % i == 0)

          return false

   }
return true

}

3. 두 숫자 사이의 합 구하기

  • 사용자로부터 두 개의 숫자를 입력받아 첫 번째 숫자부터 두 번째 숫자까지 모든 숫자의 합을 계산합니다. 유효성 검사 후 for 반복문으로 합을 구하여 출력합니다.
package com.example.calculateprictice

fun main() {

    print("첫번째 숫자를 입력하세요:")

    val oneNum = readLine()?.toIntOrNull()


    print("두번째 숫자를 입력하세요:")

    val twoNum = readLine()?.toIntOrNull()


   if (oneNum == null || twoNum == null || oneNum >= twoNum){

        println("유효한 숫자를 입력해주세요.")

        return

 }

  var sum = 0

  
  for (num in oneNum..twoNum){

     
     sum = sum + num
  
  }

  println("${oneNum}부터 ${twoNum}까지의 숫자를 더한 값 : $sum ")

}

4. 1 부터 100까지 홀수의 곱 계산

  • 1 부터 100 사이의 홀수들의 곱을 계산합니다. for 반복문과 조건문을 통해 홀수를 식별하고 , 그 곱을 계산하여 결과를 출력합니다.
package com.example.calculateprictice

fun main() {

   var sum = 1
    
    for (num in 1..100){
       
      if (num % 2 == 1) {
      
          sum = sum*num
    }
        
 }
   
    println("1부터 100까지의 숫자중 홀수의 곱은 ${sum}입니다.")
  
}

5. 두 주사위의 합이 7이 되는 확률 계산

  • 두 개의 주사위를 던졌을 때 , 나오는 두 숫자의 합이 7이 될 확률을 계산합니다. 중첩된 for 반복문을 사용하여 모든 가능한 주사위 조합을 고려하고 , 7의 합을 나타내는 경우의 수를 계산하여 확률을 도출합니다.
package com.example.calculateprictice


fun main() {

  val totalprobability = 6 * 6 

    var seven = 0 

   for (dice1 in 1..6) { 
        
        for (dice2 in 1..6) { 
          
           if (dice1 + dice2 == 7) { 
             
                seven++ 
            }
        }
    }

    val probability = seven.toDouble() / totalprobability  

    println("두 주사위의 합이 7일 확률 : ${probability}")  //확률 출력

}

이러한 문제들을 해결하며 코틀린의 조건문과 반복문에 대한 이해를 깊게 할 수 있었습니다. 각 문제는 실제 애플리케이션 개발에서 마주칠 수 있는 다양한 시나리오를 모방하며 , 이를 통해 학습한 내용을 실제 문제 해결에 적용하는 연습을 할 수 있었습니다.

profile
2023.08 ~ Android Kotlin 공부

5개의 댓글

comment-user-thumbnail
2023년 8월 9일

이렇게 유용한 정보를 공유해주셔서 감사합니다.

답글 달기
comment-user-thumbnail
2023년 8월 9일

저도 혼자 만드려고 해봤는데 혼자서는 영 어렵더라구요

답글 달기
comment-user-thumbnail
2023년 8월 9일

저도 저렇게 갑자기 해보라고 하면 어떻게 할지..고민이 많이 되더라구여...ㅠㅠ 많이 풀어볼수록 실력이 는다는데.... 초보는 처음부터 시작하기 너무 힘듭니다 ㅠㅠ!!

답글 달기
comment-user-thumbnail
2023년 8월 9일

저도 아직 기초가 부족한데 열심히 해야겠네요 ㅎㅎ

답글 달기
comment-user-thumbnail
2023년 8월 9일

코딩테스트를 풀어보니 저런식으로 문제의 논리를 내 코드로 구현하는 연습이 중요한것 같습니다!
그리고 처음에는 익숙하지가 않아서 원래 시간이 많이 걸리는것 같습니다.
이런것을 인지하고 있는것도 중요한것 같더라구요. 안그럼 좌절하게 되서.. 화이팅입니다!

답글 달기