부족한 금액 계산하기 (프로그래머스 weekly challange)

최준호·2021년 10월 6일
0

알고리즘 강의

목록 보기
68/79

문제

코드

public class W1 {
    public static void main(String[] args) {
        int price = 3;
        int money = 20;
        int count = 4;
        W1 w = new W1();
        long solution = w.solution(price, money, count);
        System.out.println("solution = " + solution);
    }
    public long solution(int price, int money, int count) {
        long answer = -1;
        Stack<Integer> stack = new Stack<>();
        int i = 0;
        while(i<count){
            i++;
            stack.push(price*i);
        }
        long sum = 0;
        while(!stack.isEmpty()){
            sum += stack.pop();
        }

        if(sum>money) answer = sum-money;
        else answer = 0;

        return answer;
    }
}

설명

문제를 보면 간단한 수학 계산 문제같다. 그래서 문제를 풀어내고 다른 사람들의 코드를 보니 간단한 수학 계산으로 깔끔하게 푸신 분들도 많더라...

나는 처음에는 문제를 보고 재귀로 풀까 하다가 가격을 넣었다가 한번에 뽑아내면서 계산하면 쉽게 풀수 있을거 같아서 stack 자료구조를 사용하였다.

어떻게 보면 그리 나쁜 풀이는 아닌거 같은데 stack보다는 queue가 맞았을거 같고 다른 풀이들을 보니 더 간단하게 풀수 있었는데 너무 어렵게 생각했던거 같기도 하다.

맨날 강의만 듣고 문제를 풀다가 직접 문제를 푸니 더 재밌다! 이젠 하나의 문제 풀이 방식만 생각하지 않고 다양한 사고를 할수 있어서 그런거 같다. 어려운 문제가 나오면 바로 재미 없어지겠지만 ㅎㅎ

profile
코딩을 깔끔하게 하고 싶어하는 초보 개발자 (편하게 글을 쓰기위해 반말체를 사용하고 있습니다! 양해 부탁드려요!) 현재 KakaoVX 근무중입니다!

0개의 댓글