ALGORITHM

스택/큐, 기능개발

2022. 3. 2. 01:10
728x90
반응형

✍ 프로그래머스에서 문제 따옴. 

 

✍ 

import java.util.*;
import java.util.stream.Collectors;

public class FunctionDev {

    public static void main(String[] args) {

        int[] progresses = {93, 30, 55};
        int[] speeds = {1,30,5};

//        int[] progresses = {95, 90, 99, 99, 80, 99};
//        int[] speeds = {1, 1, 1, 1, 1, 1};

        solution(progresses, speeds);

    }

    public static int[] solution(int[] progresses, int[] speeds){

        // Stack<Integer> stack = new Stack<Integer>();
        Queue<Integer> queue = new LinkedList<>();

        for (int i = 0 ; i < progresses.length; i ++ ) {
            int count = 0;

            while (progresses[i] < 100) {
                progresses[i] += speeds[i];
                count++;
            }
            queue.add(count);
        }

        int temp = 0 ;
        int count_num = 0;

        List<Integer> lists = new ArrayList<>();

        int k = queue.peek();

        while ( !queue.isEmpty() ) {
            temp = queue.poll();

            if ( k >= temp ) {
                // 동시 배포 할 작업 개수를 늘린다.
                count_num++;
                
            } else {
                // 배포 했으므로, 작업 개수를 초기화한다.
                lists.add(count_num);
                count_num = 1;
            }
            
            if (queue.isEmpty()) {
                lists.add(count_num);
            }

            if ( k < temp ) {
                k = temp;
            }

        }

        int[] answer = new int[lists.size()];

        for (int i = 0 ; i < lists.size(); i ++ ) {
            answer[i] = lists.get(i);
        }

        return answer;
    }

}

 

 

☁ 크게 고민 할 만한 내용은 없었고, 

 

☁ 각 작업의 작업소요일이 며칠인지 체크하는 게 포인트. 

 

 

 

320x100
반응형
저작자표시 (새창열림)

'ALGORITHM' 카테고리의 다른 글

Big O / 시간복잡도 / Binary Search / Linear Search  (0) 2022.03.20
백준 / greedy / 5585 / 거스름돈  (0) 2022.03.14
정렬 알고리즘 / 삽입 / 퀵 / 듀얼 피벗  (0) 2022.03.11
해시, 위장  (0) 2022.02.21
해시, 전화번호 목록  (0) 2022.02.14
'ALGORITHM' 카테고리의 다른 글
  • 백준 / greedy / 5585 / 거스름돈
  • 정렬 알고리즘 / 삽입 / 퀵 / 듀얼 피벗
  • 해시, 위장
  • 해시, 전화번호 목록
girin_dev
girin_dev
기록합시다.
250x250
girin_dev
girin_dev
girin_dev

github.com/jaemanc


전체
오늘
어제
  • 분류 전체보기 (122)
    • ALGORITHM (23)
    • AWS (4)
    • Effective Java (4)
    • ERROR (12)
    • DB (11)
    • JAVA (23)
      • SPRING (10)
    • PYTHON (5)
      • TOY_PROJECT (1)
    • MOBILE (4)
    • SERVER (8)
    • TIPS (16)
    • WAS (2)
    • 새싹 일기 (5)
    • DATA (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • python3
  • Flutter
  • 다이나믹 프로그래밍
  • 바질 키우기
  • oracle cloud
  • lis
  • IntelliJ
  • 바질 페스토
  • java
  • oracle
  • 가장 큰 수
  • 프로그래머스
  • dp
  • jwt
  • springboot
  • JAVA 11
  • vertica
  • spring boot
  • react-native
  • Chat GPT
  • offset
  • 새싹
  • 바둑이
  • querydsl
  • 바질
  • error
  • CentOS 8
  • docker
  • Effective Java
  • centos7

최근 댓글

최근 글

hELLO · Designed By 정상우.
girin_dev
스택/큐, 기능개발
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.