on
다단계 칫솔 판매
다단계 칫솔 판매
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 ;
}
}
from http://zzunsik.tistory.com/256 by ccl(A) rewrite - 2021-12-24 01:02:05