Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- baekjoon
- 백준
- RootMotion
- RVO
- C
- 오블완
- Unreal Engine5
- DeferredRendering
- 언리얼엔진5
- softeer
- Programmers
- 프로그래머스
- algorithm
- UE5
- Frustum
- NRVO
- 2294
- IFileDialog
- 티스토리챌린지
- UnrealEngine4
- C++
- 1563
- 팰린드롬 만들기
- directx
- 줄 세우기
- GeeksForGeeks
- const
- winapi
- UnrealEngine5
- DirectX11
Archives
- Today
- Total
Game Develop
[Algorithm] Programmers :: 다단계 칫솔 판매 본문
https://school.programmers.co.kr/learn/courses/30/lessons/77486
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
48
|
map<string, pair<string, int>> parentMap;
void recur(string me, int money)
{
int parentMoney = money / 10;
int myMoney = money - parentMoney;
string parent = parentMap[me].first;
parentMap[me].second += myMoney;
if (parent != "no" && parentMoney != 0)
{
recur(parent, parentMoney);
}
}
vector<int> solution(
vector<string> enroll, // 각 판매원 이름
vector<string> referral, // 각 판매원을 조직에 참여시킨 판매원의 이름
vector<string> seller, // 판매량 집계 데이터의 판매원 이름
vector<int> amount) // 판매량 집계 데이터의 판매수량
{
vector<int> answer;
for (int i = 0; i < enroll.size(); i++)
{
if (referral[i] != "-")
{
parentMap[enroll[i]] = make_pair(referral[i], 0);
}
else
{
parentMap[enroll[i]] = make_pair("no", 0);
}
}
for (int i = 0; i < seller.size(); i++)
{
recur(seller[i], amount[i] * 100);
}
for (int i = 0; i < enroll.size(); i++)
{
answer.push_back(parentMap[enroll[i]].second);
}
return answer;
}
|
cs |
map만 적절히 활용할 줄 알면 풀 수 있는 구현문제.
부모가 가질 이익금이 0원이라면 재귀를 돌릴필요가 없다.
불필요한 재귀를 방지해야 타임아웃에 안걸린다.
recur함수의 'parentMoney != 0'의 조건을 빼버리면 타임아웃에 걸린다.
'Algorithm > Programmers' 카테고리의 다른 글
[Algorithm] Programmers :: 등산코스 정하기 (0) | 2023.01.16 |
---|---|
[Algorithm] Programmers :: 길 찾기 게임 (0) | 2022.10.12 |
[Algorithm] Programmers :: 숫자 게임 (1) | 2022.10.08 |
[Algorithm] Programmers :: 합승 택시 요금 (0) | 2022.09.08 |
[Algorithm] Programmers :: 교점에 별 만들기 (0) | 2022.09.06 |