문제: app.codility.com/programmers/lessons/7-stacks_and_queues/fish/
Fish coding task - Learn to Code - Codility
N voracious fish are moving along a river. Calculate how many fish are alive.
app.codility.com
Stack<int> up = new Stack<int>();
Stack<int> down = new Stack<int>();
for (int i = 0; i < A.Length; i++)
{
if (B[i] == 0)
{
if (down.Count == 0)
up.Push(A[i]);
else
{
while (down.Count > 0)
{
if (down.Peek() < A[i])
{
down.Pop();
if (down.Count == 0)
{
up.Push(A[i]);
break;
}
}
else
break;
}
}
}
else
{
down.Push(A[i]);
}
}
return up.Count + down.Count;
'공부하자 > Codility' 카테고리의 다른 글
[Codility] Lesson7. StoneWall (C#) (0) | 2020.11.20 |
---|---|
[Codility] Lesson7. Nesting (C#) (0) | 2020.11.20 |
[Codility] Lesson7. Brackets (C#) (0) | 2020.11.20 |
[Codility] Lesson6. Triangle (C#) (0) | 2020.11.20 |
[Codility] Lesson6. NumberOfDiscIntersections (C#) (0) | 2020.11.20 |