달달한 스토리

728x90
반응형

출처 핀터레스트

 

문제를 풀어보자..

 

부족한 금액 계산하기

 

class Solution {
    fun solution(price: Int, money: Int, count: Int): Long =
        (1..count).foldIndexed(0L) { idx, acc, i ->
            acc + (price * i)
        }.minus(money).let {
            if(it < 0) 0 else it
        }
}

 

처음 금액에 N배가 되어 증가하는 풀이이다.

 

금액이 부족하지 않으면, 0을 반환하는 메서드이다.

 

이 풀이는 아래 코드가 더 심플해 보여서 가져왔다.

 

//부족한 금액 계산하기
class CalculateTheShortfall {
    fun solution(price: Int, money: Int, count: Int): Long =
        (1..count).sumOf { it * price.toLong() }.let { if (money > it) 0 else it - money }
}

 

sumOf 메서드를 통해 계산을 통해 나온 값의 함을 반환하여,

 

계산하였다.

 

 

직사각형 별 찍기

 

//직사각형 별찍기
class RectangularStar {
    fun main(args: Array<String>) {
        val (a, b) = readLine()!!.split(' ').map(String::toInt)
        repeat(b) {
            repeat(a) { print("*") }
            println()
        }
    }
}

 

예전에 백준 문제 초반에 풀었을 때 비슷한 문제가 나온 걸로 기억이 난다.

 

print과 줄 바꿈 해주는 println을 응용 사용하여 문제를 해결하였다.

728x90
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading