1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | import java.util.*; class Solution { static HashMap<String, Integer> map = new HashMap<String, Integer>(); static ArrayList<Persons> list = new ArrayList<Persons>(); static void moneyCal(String seller, int money) { Persons person = list.get(map.get(seller)); int remain = (int) (money * 0.1); person.profit += money - remain; // 추천인이 없거나 배분 금액이 없을 경우 종료 if(person.recommender.equals("-") || remain == 0) return; moneyCal(person.recommender, remain); } public int[] solution(String[] enroll, String[] referral, String[] seller, int[] amount) { int n = enroll.length; int[] answer = new int[n]; for(int i=0;i<n;i++) { list.add(new Persons(enroll[i], referral[i])); map.put(enroll[i], i); } // 수익 계산 for(int i=0;i<seller.length;i++) { moneyCal(seller[i], amount[i] * 100); } for(int i=0;i<n;i++) { answer[i] = list.get(i).profit; } return answer; } } class Persons { String name; String recommender; int profit; public Persons(String enroll, String referral) { this.name = enroll; this.recommender = referral; this.profit = 0; } } | cs |
'Programmers > Level3' 카테고리의 다른 글
오랜 기간 보호한 동물(1) (0) | 2022.05.01 |
---|---|
없어진 기록 찾기 (0) | 2021.12.24 |
네트워크 (0) | 2021.12.23 |
헤비 유저가 소유한 장소 (0) | 2021.12.23 |
있었는데요 없었습니다 (0) | 2021.12.23 |