프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제풀이
1. 2중 for문을 사용하니 3개의 테스트가 시간초과 발생.
2. stack를 사용하여 비교
3. [프로그래머스/JAVA] 주식가격 (tistory.com) 문제와 유사한 풀이방법
나의풀이 ( 코드 )
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int[] answer = new int[numbers.length];
Stack<Integer> stack = new Stack<>();
stack.push(0);
for (int i = 1; i < numbers.length; i++) {
while (!stack.isEmpty()&&numbers[stack.peek()]<numbers[i]){
answer[stack.pop()] = numbers[i];
}
stack.push(i);
}
while (!stack.isEmpty()){
answer[stack.pop()] = -1;
}
return answer;
}
}'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스/JAVA 자바] 롤케이크 자르기 (0) | 2023.11.21 |
|---|---|
| [프로그래머스/JAVA 자바] [3차] 파일명 정렬 (1) | 2023.11.20 |
| [프로그래머스/JAVA 자바] 스킬트리 (1) | 2023.11.18 |
| [프로그래머스/JAVA 자바] 주식가격 (0) | 2023.11.18 |
| [프로그래머스/JAVA 자바] 방문 길이 (0) | 2023.11.17 |