Algorithm Problem/Python

[python] SWEA - 3347. μ˜¬λ¦Όν”½ μ’…λͺ© νˆ¬ν‘œ

deo2kim 2022. 3. 24. 22:50
λ°˜μ‘ν˜•

πŸ€”λ¬Έμ œ ν•΄κ²°

 

μ‘°μ§μœ„μ›νšŒμ˜ μ˜ˆμ‚°μ„ κΈ°μ€€μœΌλ‘œ μž¬λ°ŒλŠ” μ’…λͺ©μ—μ„œ μž¬λ―Έμ—†λŠ” μ’…λͺ© μˆœμ„œλŒ€λ‘œ 탐색

μ˜ˆμ‚°μ— 보닀 적은 μ’…λͺ©μ„ 찾으면 νˆ¬ν‘œν•˜κ³  μ’…λ£Œ

 

λͺ¨λ“  νˆ¬ν‘œκ°€ μ’…λ£Œλ˜λ©΄ λ“ν‘œμˆ˜κ°€ κ°€μž₯ 높은 μ’…λͺ©μ˜ 번호λ₯Ό μ°ΎλŠ”λ‹€.

 

πŸ’¨ SWEA λŠ” 문제 λ‚œμ΄λ„λ₯Ό μ–΄λ–»κ²Œ

 

πŸ’»μ†ŒμŠ€ μ½”λ“œ

 T = int(input())
for test_case in range(1, T + 1):
    N, M = map(int, input().split())
    events = list(map(int, input().strip().split()))
    managers = list(map(int, input().strip().split()))
    
    vote = [0] * N  # νˆ¬ν‘œ 수
    for manager in managers:
        # μž¬λ°ŒλŠ” μ’…λͺ©(μ•ž)μ—μ„œ λΆ€ν„° μ°¨λ‘€λ‘œ μ˜ˆμ‚°λ³΄λ‹€ 크면 νˆ¬ν‘œ 
        for i, event in enumerate(events):
            if event <= manager:
                vote[i] += 1
                break

    answer = [0, 0]  # [인덱슀, νˆ¬ν‘œ 수]
    for i in range(N):
        if vote[i] > answer[1]:
            answer = [i + 1, vote[i]]

    print(f'#{test_case} {answer[0]}')

πŸ“•λ¬Έμ œ 확인

좜처: SW Expert Academy

λ°˜μ‘ν˜•