백준 31962 - 등교 (파이썬)
글 작성자: pental

https://www.acmicpc.net/problem/31962
풀이
학생 N명이 학교 까지 가는데 S[i] 분이 걸리고, 등교 준비 시간으로 T[i]분이 필요하다.
등교 마감 시간 X분 전에 도착해야한다.
이때 등교 가능한 학생 중 등교 시간이 가장 오래 걸리는 학생의 등교 시간(S[i])를 구하는 문제이다.
단, 어떤 학생도 등교할 수 없다면 -1을 출력해야한다.
즉, 각 학생에 대해서 S[i] + T[i]의 값이 X 보다 작거나 같음을 만족하면, max_time을 업데이트 하는 방식으로 풀수 있다.
코드
# 백준 31962 - 등교 # 분류 : 구현 N, X = map(int, input().split()) S = [0] * N T = [0] * N for i in range(N) : S[i], T[i] = map(int, input().split()) max_time = 0 for i in range(N) : if S[i] + T[i] <= X : max_time = max(max_time, S[i]) if max_time == 0 : print(-1) else : print(max_time)
이 글은
(새창열림)
본 저작자 표시, 비영리 규칙 하에 배포할 수 있습니다. 자세한 내용은 Creative Commons 라이선스를 확인하세요.
Creative Commons
본 저작자 표시
비영리
'Programming > 백준' 카테고리의 다른 글
백준 2526 - 싸이클 (파이썬) (0) | 2025.03.28 |
---|---|
백준 2530 - 인공지능 시계 (파이썬) (0) | 2025.03.28 |
백준 25377 - 빵 (파이썬) (0) | 2025.03.25 |
백준 10800 - 컬러볼 (파이썬) (0) | 2025.03.24 |
백준 21756 - 지우개 (파이썬) (0) | 2025.03.23 |
댓글
이 글 공유하기
다른 글
-
백준 2526 - 싸이클 (파이썬)
백준 2526 - 싸이클 (파이썬)
2025.03.28https://www.acmicpc.net/problem/2526풀이수열 A는 다음과 같이 정의할 수 있다.A_0 = NA_i = A_{i-1} * N mod P수열을 계속 계산하다 보면, 언젠가 같은 값이 다시 등장해서 반복(싸이클)이 발생한다. 이때 반복되는 구간의 길이를 구하는 문제이다.order 딕셔너리는 각 숫자가 몇 번째에 처음 등장했는지를 저장한다.n = n * N % P는 문제에서 정의된 수열의 다음 항을 계산한다.만약 n이 이미 order에 있다면싸이클이 시작된 시점은 order[n]현재 시점은 count즉, 싸이클 길이는 count - order[n]코드# 백준 2526 - 싸이클# 분류 : 구현N, P = map(int, input().split())n = Norder = {}coun… -
백준 2530 - 인공지능 시계 (파이썬)
백준 2530 - 인공지능 시계 (파이썬)
2025.03.28https://www.acmicpc.net/problem/2530풀이조금 고민을 한 문제이다.그냥 단순히 수학 공식을 이용해서 풀려다가 어짜피 초를 입력 받기 때문에 초 단위로 증가시켜도 된다는 판단이 들은 문제이다.시긴도 1초에다가, 최대 500,000초가 주어지기 때문에 시간도 넉넉하다고 생각했다.단순히 6025를 입력받으면 6025번 반복을 진행한다.만약 C가 60이 되면 B를 1 증가 시키고 C를 0으로 바꾸는 식으로 진행해서 췹게 풀수 있는 문제였다.코드# 백준 2530 - 인공지능 시계# 분류 : 수학A, B, C = map(int, input().split())D = int(input())for i in range(D) : C += 1 if C == 60 : B += … -
백준 25377 - 빵 (파이썬)
백준 25377 - 빵 (파이썬)
2025.03.25https://www.acmicpc.net/problem/25377풀이N개의 빵 가게가 있으며, 각 가게에서의 두가지 정보가 주어진다.A[i] → 내가 가게에 도착할 수 있는 시간B[i] → 해당 가게에서 빵을 구매할 수 있는 시간조건 A[i] ≤ B[i]를 만족하는 가게 중에서 가장 빠르게 빵을 살 수 있는 시간을 찾아야한다.만약 해당하는 가게가 없다면 -1을 출력한다.시간 복잡도 분석입력 처리: O(N)최소값 탐색: O(N)총 시간 복잡도: O(N) (선형 탐색이므로 매우 효율적)코드# 백준 25377 - 빵# 분류 : 구현N = int(input())A = [0] * NB = [0] * Nfor i in range(N) : A[i], B[i] = map(int, input().split())… -
백준 10800 - 컬러볼 (파이썬)
백준 10800 - 컬러볼 (파이썬)
2025.03.24https://www.acmicpc.net/problem/10800풀이각 공은 색 c와 크기 s를 가짐, 공을 하나 선택했을 때, 자신보다 크기가 작은 모든 공들 중 색이 다른 공들의 크기 합을 구해야 한다.최대 크기인 2000을 기준으로 balls[크기] = [(색, 인덱스)] 형태로 공을 저장한다.N = int(input())balls = [[] for _ in range(2001)]입력받은 공의 색(c)과 크기(s)를 balls 배열에 저장한다. (같은 크기의 공들을 묶어서 저장)for i in range(N): c, s = map(int, input().split()) balls[s].append((c, i))누적합 계산을 진행한다. 단 작은 크기부터 순회한다.for i in range…
댓글을 사용할 수 없습니다.