달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바
  • 백준
  • Bronze IV
  • Bronze V
  • 알고리즘
  • react
  • 백준문제풀이
  • HTML
  • math
  • java
  • 알고리즘풀이
  • 혼공SQL
  • Bronze III
  • select
  • 문제풀이
  • 혼자공부하는SQL
  • SQL
  • Scanner
  • MySQL
  • BRONZE
  • Algorithm
  • 혼공MySQL
  • 백준알고리즘
  • sql 문제풀이
  • programmers
  • java algorithm
  • 프로그래머스
  • BOJ algorithm
  • SQL고득점Kit
  • BOJ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

[백준] 서버 - 10409 Java[자바]
algorithm/백준

[백준] 서버 - 10409 Java[자바]

2023. 3. 15. 10:24


[Unrated] 서버 - 10409

문제 링크

 

10409번: 서버

당신은 FCFS(First-Come, First-Served)의 규칙에 따라 요청된 일을 처리하는 서버를 담당하게 되었다. 매일, 당신은 일을 처리하기 위해 최대 T분 동안 서버에 시간을 할당할 수 있다. 당신은 오늘 주어

www.acmicpc.net

성능 요약

메모리: 17720 KB, 시간: 208 ms

분류

수학, 구현, 사칙연산

문제 설명

당신은 FCFS(First-Come, First-Served)의 규칙에 따라 요청된 일을 처리하는 서버를 담당하게 되었다. 매일, 당신은 일을 처리하기 위해 최대 T분 동안 서버에 시간을 할당할 수 있다. 당신은 오늘 주어진 시간동안 몇개의 일이 완료될 수 있는지 알고싶다.

예시를 들어보겠다. T = 180이고, 요청된 일들의 수행시간이 요청된 순으로 각각 45, 30, 55, 20, 80, 20분이다. 그러면, 단 4개의 일만이 완료될 수 있다. 처음 4개의 일의 수행시간은 150분으로 주어진 시간 내에 완료될 수 있지만, 처음 5개의 일의 수행시간은 230분으로 주어진 시간 180분보다 크기 때문에 완료될 수 없다. 처음 4개의 일을 수행한 뒤 6번째의 일을 수행해도 T를 초과하지 않지만 5번째 일을 수행할 수 없기 때문에 6번째 일을 수행할 수 없음을 참고해라.

입력

첫 줄은 두 정수 n과 T이며 (1 ≤ n ≤ 50, 1 ≤ T ≤ 500) n은 일의 개수를 나타낸다. 두 번째 줄은 n개의 100 이하인 자연수가 입력되며, 입력된 각 일의 수행 시간을 나타낸다.

출력

일이 First-come, First-served 규칙에 따라 처리될 때, T분 안에 완료될 수 있는 일들의 개수를 출력하라.


답 : 남은 시간을 갱신하며 처리한 일의 개수를 출력한다. 

import java.util.Scanner;

public class Main {
        public static void main(String [] args) {
                Scanner sc = new Scanner(System.in);
                int n = sc.nextInt(); // 일의 개수
                int T = sc.nextInt(); // 주어진 시간
                int[] times = new int[n]; // 각 일의 수행 시간을 저장할 배열

                // 각 일의 수행 시간 입력
                for (int i = 0; i < n; i++) {
                        times[i] = sc.nextInt();
                }

                int count = 0; // 처리한 일의 개수
                int timeLeft = T; // 남은 시간

                // 일을 처리하면서 남은 시간을 계속해서 추적
                for (int i = 0; i < n; i++) {
                        if (times[i] <= timeLeft) { // 처리할 수 있는 경우
                                count++; // 처리한 일의 개수 증가
                                timeLeft -= times[i]; // 남은 시간 갱신
                        } else { // 더 이상 처리할 수 없는 경우
                                break; // 종료
                        }
                }
                System.out.println(count); // 처리한 일의 개수 출력
                sc.close();
        }
}
저작자표시 비영리 변경금지 (새창열림)

'algorithm > 백준' 카테고리의 다른 글

[백준] 한글 - 11282 Java[자바]  (0) 2023.03.17
[백준] 나는 누구인가 - 15733 Java[자바]  (0) 2023.03.16
백준 FBI - 2857 Java[자바]  (0) 2023.03.14
[백준] 앵그리 창영 - 3034 Java[자바]  (0) 2023.03.13
[백준] 연세대학교 - 15680 Java[자바]  (0) 2023.03.11
    'algorithm/백준' 카테고리의 다른 글
    • [백준] 한글 - 11282 Java[자바]
    • [백준] 나는 누구인가 - 15733 Java[자바]
    • 백준 FBI - 2857 Java[자바]
    • [백준] 앵그리 창영 - 3034 Java[자바]
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바