Lv 2. 주식가격

2024. 7. 9. 14:55·Algorithm & Data Structures/Programers

코드 흐름

  • answer[] 배열을 price.length() 만큼 선언한다.
  • 각 가격의 위치를 집어넣을 Stack을 선언한다.
  • 시작점 부터 price.length -1 까지 for 문을 돈다.
  • 만약 stack이 비어있다면 stack에 현재위치를 저장하고 비어있지 않고,stack.peek()위치의 prices가 이번 price보다 크다면 stack에서 pop 하고 stack.pop() 한 위치에 현위치(i)-stack.peek() 를 하여 가격이 저장된 길이를 삽입한다.
  • for문이 끝나고 stack에 남아있는 위치가 있다면 이는 마지막 이 될때까지 가격이 떨어진 적이 없으니 prices.length에서 stack.peek()를 빼고 -1을 하여 가격이 떨어지지 않았던 길이를 구해낸다.
import java.util.*;

class Solution {
	public int[] solution(int[] prices) {
        int[] answer = new int[prices.length];
        Stack<Integer> stack = new Stack<>();
        for(int i = 0 ; i < prices.length ; i++){
            while(!stack.isEmpty() && prices[stack.peek()]>prices[i]){
                answer[stack.peek()] = i - stack.peek();
                stack.pop();
            }
            stack.push(i);
        }
        while(!stack.isEmpty()){
            answer[stack.peek()] = prices.length - stack.peek() - 1;
            stack.pop();
        }
        return answer;
       
    }
}

'Algorithm & Data Structures > Programers' 카테고리의 다른 글

Lv 2. 스킬트리  (0) 2024.07.14
Lv 2. 더 맵게  (1) 2024.07.10
Lv 2. 디펜스게임  (0) 2024.07.09
Lv 2. 땅따먹기  (0) 2024.07.05
Lv 2. 롤케이크 자르기  (0) 2024.07.04
'Algorithm & Data Structures/Programers' 카테고리의 다른 글
  • Lv 2. 스킬트리
  • Lv 2. 더 맵게
  • Lv 2. 디펜스게임
  • Lv 2. 땅따먹기
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (313)
      • Algorithm & Data Structures (235)
        • BOJ (93)
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (25)
        • SQL (19)
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • 운영체제 (13)
        • 네트워크 (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    baekjoon
    Union-Find
    다익스트라
    DynamicProgramming
    dp
    백트래킹
    algorithm
    알고리즘
    programmers
    전위순회
    SQL
    백준
    유니온파인드
    스택
    구현
    dfs
    투포인터
    PriorityQueue
    unionfind
    Dijkstra
    Stack
    Java
    경로압축
    binarySearch
    골드
    이분탐색
    프로그래머스
    BFS
    후위순회
    동적계획법
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
Lv 2. 주식가격
상단으로

티스토리툴바