728x90
https://school.programmers.co.kr/learn/courses/30/lessons/154539
소스코드
뒤에있는 숫자를 구할 때는 스택을 사용하는게 편리하다.
using System;
using System.Collections.Generic;
using System.Linq;
public class Solution
{
public int[] solution(int[] numbers)
{
int[] answer = new int[numbers.Length];
Array.Fill(answer, -1);
Stack<int> stack = new Stack<int>();
for (int i = 0; i < numbers.Length; i++)
{
int num = numbers[i];
while (stack.Count() > 0)
{
if (numbers[stack.Peek()] >= num)
break;
answer[stack.Pop()] = num;
}
stack.Push(i);
}
return answer;
}
}
728x90
'코딩공부 > 프로그래머스' 카테고리의 다른 글
※[프로그래머스]Lv.2 귤 고르기C# (Dictionary.TryAdd 중복 카운터) (0) | 2023.07.07 |
---|---|
※[프로그래머스]Lv.2 숫자 변환하기 C# (Hashset) (0) | 2023.07.07 |
[프로그래머스]Lv.2 무인도 여행 C#(BFS) (0) | 2023.07.04 |
※[프로그래머스]Lv.2 호텔 대실 C# (0) | 2023.06.30 |
※[프로그래머스]Lv.2 미로 탈출 C# (0) | 2023.06.27 |