ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • React
  • sort
  • 안드로이드
  • 프로그래머스 Lv.2
  • git
  • git bash
  • stack
  • BFS
  • 깃
  • Arrays.sort()
  • 스택/큐
  • compareTo()
  • dfs
  • HashMap
  • java
  • 백준
  • Queue
  • Android
  • PriorityQueue
  • Comparator
  • kotiln
  • 깃허브
  • greedy
  • entrySet
  • 프로그래머스
  • 코틀린
  • reactjs
  • DP
  • 해시
  • getOrDefault

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

Algorithm & Data Structure/프로그래머스

[Java] 프로그래머스 Lv.2 : 주식가격

2022. 3. 11. 01:26

https://programmers.co.kr/learn/courses/30/lessons/42584

 

코딩테스트 연습 - 주식가격

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00

programmers.co.kr

 

풀이

for문으로 해당 초 단위의 주식가격과 그 이후의 주식가격을 비교하면서 가격이 떨어지기 전까지의 시간을 센다.

for문이 끝나면 answer 시간(cnt)을 넣어주고 초기화 시켜준다.

큐에서 해당 초단위를 poll 시켜주고 해당 초 단위 위치(j)를 증가시킨다.

import java.util.*;
class Solution {
    public int[] solution(int[] prices) {
        int[] answer = new int[prices.length];
        Queue q = new LinkedList();
        for(int p : prices){
            q.offer(p);
        }
        
        int j=0, cnt=0;
        while(!q.isEmpty()){
            for(int i=j+1;i<prices.length;i++){
                cnt++;
                if((int)q.peek()>prices[i]) {
                    break; // 가격떨어지면 break
                }
            }
            answer[j]=cnt;
            cnt=0;
            q.poll();
            j++;
        }
        
        return answer;
    }
}
저작자표시 (새창열림)

'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글

[Java] 프로그래머스 Lv.2 : H-Index  (0) 2022.03.13
[Java] 프로그래머스 Lv.2 : 더 맵게  (0) 2022.03.13
[Java] 프로그래머스 Lv2 : 프린터  (0) 2022.03.11
[Java] 프로그래머스 Lv.2 : 위장  (0) 2022.03.09
[Java] 프로그래머스 Lv.2 > 조이스틱  (0) 2022.03.06
    'Algorithm & Data Structure/프로그래머스' 카테고리의 다른 글
    • [Java] 프로그래머스 Lv.2 : H-Index
    • [Java] 프로그래머스 Lv.2 : 더 맵게
    • [Java] 프로그래머스 Lv2 : 프린터
    • [Java] 프로그래머스 Lv.2 : 위장
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바