Skip to content

Commit a007a7d

Browse files
committed
add PROGRAMMERS-154539
1 parent f7922f1 commit a007a7d

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,4 @@
5454
| PROGRAMMERS-131127 | [java](programmers/problem131127) | [할인 행사 (Discount Events)](https://school.programmers.co.kr/learn/courses/30/lessons/131127) |
5555
| PROGRAMMERS-131701 :star: | [java](programmers/problem131701) | [연속 부분 수열 합의 개수 (Number of Consecutive Subsequence Sums)](https://school.programmers.co.kr/learn/courses/30/lessons/131701) |
5656
| PROGRAMMERS-138476 | [c++](programmers/problem138476) | [귤 고르기 (Picking Tangerines)](https://school.programmers.co.kr/learn/courses/30/lessons/138476) |
57+
| PROGRAMMERS-154539 | [java](programmers/problem154539) | [뒤에 있는 큰 수 찾기 (Find the Larger Number Behind)](https://school.programmers.co.kr/learn/courses/30/lessons/154539) |
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package problem154539;
2+
3+
import java.util.Arrays;
4+
import java.util.Stack;
5+
6+
public class FindLargerNumberBehind {
7+
public static void main(final String[] args) {
8+
final var sol = new FindLargerNumberBehind();
9+
final var numbers = new int[]{9, 1, 5, 3, 6, 2};
10+
final var expected = new int[]{-1, 5, 6, 6, -1, -1};
11+
final var result = sol.solution(numbers);
12+
System.out.println("expected: " + Arrays.toString(expected) + " result: " + Arrays.toString(result));
13+
}
14+
15+
public int[] solution(final int[] numbers) {
16+
final var result = new int[numbers.length];
17+
Arrays.fill(result, -1);
18+
final var stack = new Stack<Integer>();
19+
20+
for (var i = 0; i < numbers.length; i++) {
21+
while (!stack.isEmpty() && numbers[stack.peek()] < numbers[i]) {
22+
result[stack.pop()] = numbers[i];
23+
}
24+
stack.push(i);
25+
}
26+
27+
return result;
28+
}
29+
}

0 commit comments

Comments
 (0)