반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/154539?language=java
- 소요 시간 : 40분
- 난이도 : LV 2
나의 풀이
접근 방법
이전에 풀었던 문제를 Java로 다시 풀어보았다.
코드
import java.util.Stack;
class Solution {
public int[] solution(int[] numbers) {
int n = numbers.length;
int[] answer = new int[n];
for (int i=0; i<n; i++) {
answer[i] = -1;
}
Stack<Integer> stack = new Stack();
for (int i=0; i<n; i++) {
int target = numbers[i];
while (!stack.empty() && target > numbers[stack.peek()])
answer[stack.pop()] = target;
stack.push(i);
}
return answer;
}
}
정리
확실히 Python에 비해 코드가 길어진다. 하지만 문법이나 더 알아보기엔 좋은 듯 하다!
반응형
'코딩테스트' 카테고리의 다른 글
[소프티어] 함께하는 효도 - Java (2) | 2024.11.01 |
---|---|
[소프티어] 금고 털이 - Java (0) | 2024.10.31 |
[프로그래머스] 롤케이크 자르기 - Python (1) | 2024.10.19 |
[프로그래머스] 연속 펄스 부분 수열의 합 - Python (0) | 2024.10.18 |
[프로그래머스] 숫자 변환하기 - Python (0) | 2024.10.18 |