문제 출처 (BRONZE Ⅰ)
https://www.acmicpc.net/problem/9339
풀이
대회 참가자들의 기록을 for 문으로 순서대로 입력받으면서 기록을 분으로 통일시키는 작업을 먼저 했다.
그리고 학원 수강생인지, 기록이 6시간 이하인지 if 문에 and를 사용하여 확인했다.
인증서를 받는 학생의 수를 +1 해주고 기록이 좋은 수강생의 참가 번호와 기록을 경신해 줬다.
코드
T = int(input())
for _ in range(T):
K = int(input()) # 수강생 수
K_Number = list(map(int, input().split())) # 수강생의 참가 번호
N = int(input()) # 대회 참가자 수
record_time = 1441 # 24시간 정도의 최대값 설정
receive_certificate = 0
for _ in range(N):
n, h, m = map(int, input().split())
if h == m == -1: # 대회를 중간에 포기한 경우는 continue
continue
record = (h * 60) + m # 분으로 통일
if n in K_Number and record <= 360:
receive_certificate += 1
if record < record_time:
recorder = n # 기록 좋은 수강생의 참가 번호 저장
record_time = record # 기록 갱신
print(recorder, receive_certificate)
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 33515번 노트북 세 대를 가지고 왔다 [PYTHON/파이썬] (1) | 2025.08.05 |
---|---|
백준 BAEKJOON 22113번 창영이와 버스 [PYTHON/파이썬] (1) | 2025.07.29 |
백준 BAEKJOON 32751번 햄버거 [PYTHON/파이썬] (2) | 2025.07.24 |
백준 BAEKJOON 34009번 Bob부 멍충이 [PYTHON/파이썬] (0) | 2025.07.23 |
백준 BAEKJOON 33964번 레퓨닛의 덧셈 [PYTHON/파이썬] (0) | 2025.07.18 |