ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [λ°±μ€€] 12788 제 2회 IUPCλŠ” 잘 개졜될 수 μžˆμ„κΉŒ? with Python
    PS 2022. 3. 16. 18:16
    728x90
    λ°˜μ‘ν˜•

    πŸ“Œ BOJ 12788 제 2회 IUPCλŠ” 잘 개졜될 수 μžˆμ„κΉŒ?

    πŸ’‘ 쑰건

    1. λŒ€νšŒ 개졜λ₯Ό μœ„ν•œ μ˜ˆμ‚°μ„ 아끼기 μœ„ν•˜μ—¬ νŽœμ„ κ΅¬λ§€ν•˜μ§€ μ•Šκ³  CTPνšŒμ›λ“€μ—κ²Œ νŽœμ„ 빌리기둜 ν•˜μ˜€λ‹€.

    2. CTPμ—λŠ” Nλͺ…μ˜ νšŒμ›λ“€μ΄ μ‘΄μž¬ν•˜λ©° 각각의 νšŒμ›λ“€μ˜ 필톡에 λ“€μ–΄μžˆλŠ” 펜의 κ°œμˆ˜λŠ” λͺ¨λ‘ λ‹€λ₯΄λ‹€.
      μ •μ€μ΄λŠ” μ—¬λŸ¬λͺ…μ˜ νšŒμ›μ—κ²Œ νŽœμ„ 빌릴경우 νŽœμ„ λŒλ €μ£ΌκΈ°μ— λ²ˆκ±°λ‘­λ‹€κ³  μƒκ°ν•˜μ—¬ μ΅œμ†Œν•œμ˜ νšŒμ›λ“€μ—κ²Œ νŽœμ„ 빌렀 μ°Έκ°€μžλ“€μ—κ²Œ λ‚˜λˆ„μ–΄ μ£Όλ €κ³  ν•œλ‹€.

    3. λŒ€νšŒμ— μ°Έκ°€ν•˜λŠ” μ°Έκ°€μžλ“€μ€ νŒ€μ„ κ΅¬μ„±ν•΄μ„œ μ°Έκ°€ν•˜λŠ”λ° λͺ¨λ“  νŒ€μ›μ—κ²Œ νŽœμ„ μ§€κΈ‰ν•΄μ•Όν•œλ‹€.

    4. ν•œ νŒ€μ΄ kλͺ…μ˜ νŒ€μ›μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμ„λ•Œ λͺ‡ λͺ…μ˜ νšŒμ›λ“€μ—κ²Œ νŽœμ„ λΉŒλ €μ•Όν•˜λŠ”μ§€ 좜λ ₯ν•˜λŠ” 문제.

    5. CTP의 νšŒμ›μˆ˜ N(1 ≀ N ≀ 1,000)
      λŒ€νšŒμ— μ°Έκ°€ν•œ νŒ€μ˜ 수 M(1 ≀ M ≀ 1,000)
      νŒ€μ„ κ΅¬μ„±ν•˜λŠ”λ° ν•„μš”ν•œ νŒ€μ›μ˜ 수 K(1 ≀ K ≀ 10)
      각각의 CTP νšŒμ›λ“€μ΄ 가지고 μžˆλŠ” 펜의 수 A(0 ≀ A ≀ 100)

    6. λ‹€μ΄λ‚˜λ―Ήν”„λ‘œκ·Έλž˜λ° μœ ν˜•μ˜ 문제

    πŸ–₯ μ†ŒμŠ€ μ½”λ“œ

    from sys import stdin
    
    n = int(stdin.readline())
    m, k = map(int, stdin.readline().split())
    arr = list(map(int, stdin.readline().split()))
    arr.sort(reverse=True)
    
    need_pens = m * k
    
    cnt = 0
    for i in range(n):
        if need_pens == 0:
            break
    
        if need_pens - arr[i] > -1:
            cnt += 1
            need_pens -= arr[i]
    
        elif need_pens - arr[i] < 0:
            cnt += 1
            need_pens -= arr[i]
            break
    
    print("STRESS") if need_pens > 0 else print(cnt)

    πŸ”– 예제 및 μ‹€ν–‰κ²°κ³Ό

    예제

    7
    36 3
    9 70 15 13 19 20 11

    μ‹€ν–‰κ²°κ³Ό

    3

    ⌨️ 문제 풀이

    1. μž…λ ₯ 받은 배열을 μ •λ ¬ν•œ λ’€, n크기의 배열을 μˆœνšŒν•œλ‹€.

    2. ν•„μš”ν•œ 펜의 수(m * k)μ—μ„œ arr[i] λ₯Ό λΊ€ κ²°κ³Όκ°€ λ§Œμ•½

      • -1보닀 크닀면, cnt + 1, need_pens - arr[i]
      • 0보닀 μž‘λ‹€λ©΄, cnt + 1, need_pens - arr[i]
    3. need_pensrk > 0 일 경우, STRESSλ₯Ό 좜λ ₯ν•˜κ³  κ·Έ λ°˜λŒ€μ˜ 경우 cntλ₯Ό 좜λ ₯ν•œλ‹€.

    πŸ’Ύ λŠλ‚€μ 

    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.