본문 바로가기

알고리즘/Hackerrank

Hackerrank - Taum and B'day

반응형




1
2
3
4
5
6
7
8
9
10
11
long taumBday(long b, long w, long bc, long wc, long z) {
    long result;
    if(bc + z < wc) {
        result = (b + w) * bc + (w * z);
    } else if(wc + z < bc) {
        result = (b + w) * wc + (b * z);
    } else {
        result = b * bc + w * wc;
    }
    return result;
}
cs


문제 자체에서 주어진 함수때문에 시간이 조금 오래 걸렸다.

그 이유는 지금 이렇게 올린 함수는 long으로 직접 변경해서 썼지만 처음에는 int로 설정이 되어있었다. 그래서 나타낼 수 있는 범위가 다르기 때문에 오류가 계속 나는 것이었다.


이 문제를 풀기 위해서는 예제만 잘 이해하면 된다. 먼저 문제를 이해해보자. 처음에 검은색의 선물과 하얀색의 선물이 개수, 그것들의 가격, 한가지 색에서 다른 색을 바꾸는데 필요한 비용이 주어진다. 여기서 문제는 최소한의 비용으로 선물을 준비하는 것이다. 그래서 생각해줘야 할것이 검은색을 산다음 흰색으로 바꾸는 가격과 처음부터 흰색을 사는 경우이다. 물론 반대의 경우도 생각을 해야한다.


'알고리즘 > Hackerrank' 카테고리의 다른 글

Jumping on the Clouds  (0) 2018.10.11
Equalize the Array  (0) 2018.10.10
ACM ICPC Team  (0) 2018.10.10
A very big sum  (0) 2018.10.09
Compare the Triplets  (0) 2018.10.09