2024. 3. 26. 14:30, ๐กAlgorithm
๋ฐ์ํ
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/82612
์ ๊ทผ
class Solution {
fun solution(price: Int, money: Int, count: Int): Long {
var fullPrice = 0L
for (i in 1..count){
fullPrice += (i * price)
}
//1. ์ด ๊ธ์ก์ ๊ตฌํ๋ค.
if(fullPrice > money) return (fullPrice-money).toLong()
else return 0L
//2. ํ์ฌ ์์ ์ ๊ธ์ก๊ณผ ๋น๊ตํด์ ์ผ๋ง๊ฐ ๋ชจ์๋ผ๋์ง๋ฅผ return ํ๋ค.
//3. ๋ชจ์๋ผ์ง ์์ ๊ฒฝ์ฐ 0์ return ํ๋ค.
}
}
}
- ํ์ํ ์ด ๊ธ์ก์ ๊ตฌํ๊ณ , ํ์ฌ ๊ฐ์ง ๊ธ์ก๊ณผ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌ์ํ๋ค.
- ๊ทธ๋ฌ๋ '/Solution.kt:18:1: error: expecting a top level declaration' ์๋ฌ๊ฐ ๊ณ์ ๋ด๋ค.
- ์๊ณ ๋ณด๋ ๋ณ ๋ฌธ์ ๋ ์๋๊ณ , ๋ฐ์ }๋ฅผ ํ๋ ๋ ์ถ๊ฐํด๋ฒ๋ฆฐ ๋ฌธ์ ์๋ค.
์ฑ๊ณต ์ฝ๋
class Solution {
fun solution(price: Int, money: Int, count: Int): Long {
var fullPrice = 0L
for (i in 1..count) {
fullPrice += i * price
}
if (fullPrice > money) return fullPrice - money
else return 0L
}
}
์ค๋ช
- fullPrice๋ผ๋ Longํ ๋ณ์๋ฅผ ์ ์ธํ๋ค.
- 1๋ถํฐ ์ ์ฒด ๊ฐ์๊น์ง ๋ฐ๋ณตํ๋ฉฐ ๊ธ์ก์ fullPrice์ ๊ณ์ ๋ํด์ค๋ค.
- ๊ตฌํด์ง ์ด ๊ธ์ก(fullPrice)๊ฐ ๊ฐ์ง๊ณ ์๋ money๋ณด๋ค ํฌ๊ณ ์์์ ๋ฐ๋ผ return๊ฐ์ ๋ถ๋ฆฌํ๋ค.
๋ค๋ฅธ ๋ฐฉ๋ฒ
class Solution {
fun solution(price: Int, money: Int, count: Int): Long
= (1..count).map { it * price.toLong() }.sum().let { if (money > it) 0 else it - money }
}
- map ํจ์๋ฅผ ์ด์ฉํ์ฌ ๊ฐ count์ ๋ง๋ ๊ธ์ก์ผ๋ก ์ด๋ฃจ์ด์ง ์ปฌ๋ ์ ์ ๋ง๋ค๊ณ sum()์ผ๋ก ๋ํ๋ค.
- let๊ณผ it์ ์ด์ฉํด ๋ํด์ง ๊ธ์ก์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๊ธฐํ๋ค.
๋ฐ์ํ
๐ฌ C O M M E N T