[HackerRank/C++] Viral Advertising
2023. 2. 6. 08:09ㆍ코딩테스트 해커랭크/Algorithms -Easy
해커랜드는 새로운 마케팅 기법을 사용한다
첫날에는 5명의 사람들에게 공유를 할 것이며 그중 절반의 사람들이 좋아요를 누를 것이고 나머지는 읽지도 않는다
좋아요를 누른 사람들은 다시 3명의 사람들에게 공유를 할 것이며 마찬가지로 절반의 사람들이 좋아요를 누를 것이다
n일이 지났을때 몇명의 사람들이 읽었는지 return한다
int viralAdvertising(int n)
{
int result = 2;
int shared = 5;
int liked = 2;
for (int i = 1; i < n; ++i)
{
shared = liked * 3;
liked = shared / 2;
result += liked;
}
return result;
}
첫 날에는 3명이 아닌 5명이므로 초기값은 1일로 초기화 하는게 편하다고 생각한다
shared 받은 사람들은 liked를 누른 사람의 * 3일 것이다
shared 받은 사람들의 절반이 liked를 다시 누를 것이고
결국 총 누른 사람들의 수는 liked를 누른 사람들의 총 합이 되므로 result에 liked를 누적시키고 return 해준다
'코딩테스트 해커랭크 > Algorithms -Easy' 카테고리의 다른 글
| [HackerRank/C++] Circular Array Rotation (0) | 2023.02.06 |
|---|---|
| [HackerRank/C++] Save the Prisoner! (0) | 2023.02.06 |
| [HackerRank/C++] Beautiful Days at the Movies (0) | 2023.02.06 |
| [HackerRank/C++] Angry Professor (0) | 2023.02.06 |
| [HackerRank/C++] Utopian Tree (0) | 2023.02.06 |