다단계 칫솔 판매

LJM·2023년 8월 10일
0

programmers

목록 보기
54/92

https://school.programmers.co.kr/learn/courses/30/lessons/77486

import java.util.*;

class Solution {

    final int price = 100;
    public int[] solution(String[] enroll, String[] referral, String[] seller, int[] amount) {

        HashMap<String, String> map = new HashMap<>();
        HashMap<String, Integer> profitmap = new HashMap<>();

        for (int i = 0; i < enroll.length; i++) {

            if(referral[i].equals("-")){
                //do nothing
            }else
                map.put(enroll[i], referral[i]);

            profitmap.put(enroll[i], 0);
        }




        for (int i = 0; i < seller.length ; i++) {

            String cur = seller[i];

            int input = amount[i]*100;

            int toparent = 0;
            int profit = 0;
            while(true){
                toparent = input*10/100;
                if(toparent == 0)
                    profit = input;
                else
                    profit = input - toparent;

                int curmoney = profitmap.get(cur);
                profitmap.put(cur, curmoney + profit);

                if(toparent == 0)
                    break;

                if(map.containsKey(cur))
                    cur = map.get(cur);
                else
                    break;

                input = toparent;
            }
        }


        int[] answer = new int[enroll.length];
        for (int i = 0; i < enroll.length; i++)
            answer[i] = profitmap.get(enroll[i]);
        return answer;
    }
}
profile
게임개발자 백엔드개발자

0개의 댓글