1. ๋ ์์ ์ฐจ
2. ๋ ์์ ๊ณฑ
3. ๋ชซ ๊ตฌํ๊ธฐ
4. ๋์ด ์ถ๋ ฅ
5. ์ซ์ ๋น๊ตํ๊ธฐ
6. ๋ ์์ ํฉ
7. ๋ ์์ ๋๋์
8. ๊ฐ๋๊ธฐ
9. ์ง์์ ํฉ
10. ๋ฐฐ์ด์ ํ๊ท ๊ฐ
1. ๋ ์์ ์ฐจ ๋งํฌ
class Solution {
fun solution(num1: Int, num2: Int): Int {
return(num1 - num2)
}
}
๐ก ๋ฏธํด๊ฒฐ : ์์ธ์ฒ๋ฆฌ์์์ ๋ถ๋ฑํธ๊ฐ ๊ถ๊ธํ๋ค.
0 <= age <= 120; ์ ๊ฐ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ฐ?
2. ๋ ์์ ๊ณฑ ๋งํฌ
class Solution {
fun solution(num1: Int, num2: Int): Int {
var answer: Int = 0
answer = num1 * num2
return answer
}
}
3. ๋ชซ ๊ตฌํ๊ธฐ ๋งํฌ
fun solution(num1: Int, num2: Int): Int {
return num1 / num2
}
(์ฐธ๊ณ 1) num2 ๊ฐ 0 ์ผ ๊ฒฝ์ฐ , Kotlin์ ArithmeticException ์ ๋ฐ์์ํฌ ์ ์๋ค.
๋ฐ๋ผ์ ์ค์ ์ ํ๋ฆฌ์ผ์ด์
์์๋ num2๊ฐ 0์ธ์ง ํ์ธํ๊ณ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฒ์ด ์ข๋ค.
(์ฐธ๊ณ 2) Kotlin์ ์ ์ ๋๋์ ์ ์์์ ์ดํ๋ฅผ ๋ฒ๋ฆฐ๋ค. ๋ฐ๋ผ์ ์ ํํ ๋ชซ๋ง ํ์ํ ๋ ์ ํฉํ๋ค.
4. ๋์ด ์ถ๋ ฅ ๋งํฌ
class Solution {
fun solution(age: Int): Int {
val a = age - 1
return 2022 - a - 1
}
}
class Solution {
fun solution(age: Int) = 2023 - age
}
5. ์ซ์ ๋น๊ตํ๊ธฐ ๋งํฌ
class Solution {
fun solution(num1: Int, num2: Int): Int {
return if (num1 == num2) 1 else -1
}
}
6. ๋ ์์ ํฉ ๋งํฌ
class Solution {
fun solution(num1: Int, num2: Int) = num1 + num2
}
package com.example.codekata
fun main() {
var num1 = readln().toInt()
var num2 = readln().toInt()
if (num1 or num2 < -50000){
println("-50000์ด์์ ์ซ์๋ฅผ ์จ์ฃผ์ธ์")
}
else if (num1 or num2 > 50000){
println("50000์ดํ์ ์ซ์๋ฅผ ์จ์ฃผ์ธ์")
}
else
println("${solution(num1,num2)}")
}
fun solution(num1: Int, num2: Int): Int {
var answer: Int = 0
answer = num1 + num2
return answer
}
7. ๋ ์์ ๋๋์ ๋งํฌ
class Solution {
fun solution(num1: Int, num2: Int): Int {
var answer: Int = 0
answer = (num1.toDouble()/num2.toDouble()*1000).toInt()
return answer
}
}
๐ก num1๊ณผ num2์ ์๋ฃํ์ toDouble()๋ก ๋ณํ ์ํค๋ ์ด์ :
์ ์ ๋๋๊ธฐ ์ ์๋ ์ ์์ด๊ธฐ ๋๋ฌธ์, ๋ต์ด ๋ฌ๋ผ์ง ์ ์๋ค. 3 ๋๋๊ธฐ 2๋ 1.5์ง๋ง, Kotlin์ผ๋ก ๊ณ์ฐํ๋ฉด 1์ด ๋์ด๋ฒ๋ฆฐ๋ค.
๐ก ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ toDouble()๋ง๊ณ ๋, ์ค์๋ฅผ ๊ณฑํด์ฃผ๋ ๋ฐฉ๋ฒ์ด ์๋ค (ex. num1 * 1.0 ํด์ค)
8. ๊ฐ๋๊ธฐ ๋งํฌ
//๋์ ํ์ด
class Solution {
fun solution(angle: Int): Int {
var answer: Int = 0
if ( 0 <= angle && angle < 90) {
return 1
}
else if(angle == 90){
return 2
}
else if( 90 <= angle && angle < 180){
return 3
}
else {
return 4
}
}
}
// ๋ค๋ฅธ ๋ถ์ ํ์ด
package com.example.codekata
fun main() {
var num1 = readln().toInt()
if (num1 <= 0){
println("0๋ณด๋คํฐ ์ซ์๋ฅผ ์จ์ฃผ์ธ์")
}
else if (num1 > 180){
println("180์ดํ์ ์ซ์๋ฅผ ์จ์ฃผ์ธ์")
}
else
println("${solution(num1)}")
}
fun solution(angle: Int): Int {
var answer: Int = 0
if (angle < 90){
answer = 1
}
else if (angle == 90){
answer = 2
}
else if (angle < 180){
answer =3
}
else {
answer = 4
}
return answer
}
- else์๋ ์กฐ๊ฑด์ ๋ฃ์ง ์์์ ์ฃผ์ํ๊ธฐ (else์ ์กฐ๊ฑด ๊ดํธ ๋ฌ๋ฉด ์ค๋ฅ๋จ)
- ๊ฐ์์ ํ์ํ๋ ๋ถ๋ฑํธ๊ฐ ==์ ๋ง๊ฐํ์ง ์๊ธฐ. ํด๋น if๋ฌธ์์ ๋ถ๋ฑํธ ==์ด ์๋๋ผ =์ด๋ฉด ์ค๋ฅ๋จ
9. ์ง์์ ํฉ ๋งํฌ
์๋ ๋ด์ฉ์ผ๋ก ๊ณ์ฐ์ด ์ ์์ ์ผ๋ก ์ ๋์ด์ ํ์ฐธ์ ๊ณ ๋ฏผํจ
class Solution {
fun solution(n: Int): Int {
var answer: Int = 0
var sum: Int = 0
if(2 <= n && n <= 1000){
for(i: Int in 2..n){
if (i % 2 == 0)
sum =+ i
}
}
return sum
}
}
class Solution {
fun solution(n: Int): Int {
var answer: Int = 0
var sum: Int = 0
if(2 <= n && n <= 1000){
for(i: Int in 2..n){
if (i % 2 == 0)
sum = sum + i /// sum =+ i ์์ sum = sum + i๋ก ๋ณ๊ฒฝํ๋ ํฉ๊ฒฉ
/// sum +=๋ฅผ =+๋ก ์๋ชป ์จ์ ์๊ธด ๋ฌธ์
}
}
return sum
}
}
- += ์ =+๋ก ์๋ชป ์จ์ ์๊ธด ๋ฌธ์
- ํท๊ฐ๋ฆฌ๋ฉด ๊ทธ๋ฅ sum = sum + i ์ฐ์
- ๊ตณ์ด ์ ์ํ ๋ณ์ sum์ ์ ์ธํ์ง ์๊ณ , answer += i ๋ก ์ ๊ณ return answer ํ๋ฉด ๋ ๊ฐ๋จํด์ง
- Exception in thread "main" java.lang.ArithmeticException: / by zero ๊ณผ ๊ฐ์ ์ปดํ์ผ ์ค๋ฅ?
(1) ์กด์ฌํ์ง ์๋ ํ์ผ์ ์ ๊ทผํ๋ ค ํ๊ฑฐ๋
(2) ์ ์๋ฅผ 0์ผ๋ก ๋๋๋ ํ๋
(3) ๋ฐฐ์ด ์ธ๋ฑ์ค๋ฅผ ์๋ชป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฑ
10. ๋ฐฐ์ด์ ํ๊ท ๊ฐ ๋งํฌ
class Solution {
fun solution(numbers: IntArray): Double {
var sum = 0
for (i in numbers){
sum += i
}
return sum.toDouble() / numbers.size
}
}
class Solution {
fun solution(numbers: IntArray): Double {
return numbers.average()
}
}
- ๋ฐฐ์ด๋ช .size ๋ ๋ฐฐ์ด ์ ์์์ ๊ฐ์
- ์ฝํ๋ฆฐ์์ ์ ๊ณตํ๋ average()๋ฅผ ์ฐ๋ฉด ๋ ๋นจ๋ฆฌ ํด๊ฒฐํ ์ ์์
average()๋ ์ปฌ๋ ์ ์ ๋ค์ด์๋ ์ซ์ ์์๋ค์ ํ๊ท ๊ฐ์ ๊ตฌํ๋ ํจ์