๐Ÿ–ฅ๏ธ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/Python

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] [Python] [PCCE ๊ธฐ์ถœ๋ฌธ์ œ] 8๋ฒˆ / ์ฐฝ๊ณ  ์ •๋ฆฌ

rtw0202 2025. 9. 5. 11:50

1. ๋ฌธ์ œ ์„ค๋ช…

์„ ๋นˆ์ด๋Š” ๊ฒŒ์ž„์„ ์ฆ๊ธฐ๋˜ ์ค‘ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฌผ๊ฑด์ด ๋„ˆ๋ฌด ๋งŽ์•„ ์ฐฝ๊ณ  ์ •๋ฆฌ๋ฅผ ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ ๋นˆ์ด๊ฐ€ ๋ณด์œ ํ•œ ๊ฒŒ์ž„ ์† ์ฐฝ๊ณ ๋Š” ์—ฌ๋Ÿฌ ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๊ณ  ๊ฐ ์นธ์—๋Š” ๋ฌผ๊ฑด๋“ค์ด ๋‹ด๊ฒจ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐฝ๊ณ ๋ฅผ ์ •๋ฆฌํ•  ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜๋˜ ์„ ๋นˆ์ด๋Š” ๊ฐ™์€ ๋ฌผ๊ฑด์ด ์—ฌ๋Ÿฌ ์นธ์— ๋‚˜๋ˆ„์–ด ๋“ค์–ด์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์šฐ์„  ๊ฐ™์€ ๋ฌผ๊ฑด๋ผ๋ฆฌ ์ตœ๋Œ€ํ•œ ๊ฒน์ณ์Œ“๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฐฝ๊ณ ๋ฅผ ์ •๋ฆฌํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ ๋นˆ์ด์˜ ์ฐฝ๊ณ ์— ๋“ค์–ด์žˆ๋Š” ๋ฌผ๊ฑด์˜ ์ด๋ฆ„๊ณผ ๊ฐœ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ฃผ์–ด์ง€๋ฉฐ, ํ•œ ์นธ์— ๊ฒน์ณ์งˆ ์ˆ˜ ์žˆ๋Š” ๋ฌผ๊ฑด์˜ ๊ฐœ์ˆ˜์—๋Š” ์ œํ•œ์ด ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ฐฝ๊ณ ์˜ ๊ฐ ์นธ์— ๋‹ด๊ฒจ์žˆ๋Š” ๋ฌผ๊ฑด์˜ ์ด๋ฆ„์ด storage = ["pencil", "pencil", "pencil", "book"], ๊ฐ ๋ฌผ๊ฑด์˜ ๊ฐœ์ˆ˜๊ฐ€ num = [2, 4, 3, 1]์ด๋ผ๋ฉด ์—ฐํ•„๊ณผ ์ฑ…์„ ํ•œ ์นธ์— ๊ฐ๊ฐ ๊ฒน์ณ ์Œ“์•„ ๊ฐ„๋‹จํ•˜๊ฒŒ clean_storage = ["pencil", "book"], clean_num = [9, 1]๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

์ฃผ์–ด์ง„ solution ํ•จ์ˆ˜๋Š” ์ •๋ฆฌ๋˜๊ธฐ ์ „ ์ฐฝ๊ณ ์˜ ๋ฌผ๊ฑด ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ storage์™€ ๊ฐ ๋ฌผ๊ฑด์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ด๊ธด ์ •์ˆ˜ ๋ฆฌ์ŠคํŠธ num์ด ์ฃผ์–ด์งˆ ๋•Œ , ์ •๋ฆฌ๋œ ์ฐฝ๊ณ ์—์„œ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋งŽ์€ ๋ฌผ๊ฑด์˜ ์ด๋ฆ„์„ return ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. solution ํ•จ์ˆ˜๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋„๋ก ํ•œ ์ค„์„ ์ˆ˜์ •ํ•ด ์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • 1 ≤ storage์˜ ๊ธธ์ด = num์˜ ๊ธธ์ด ≤ 30
    • storage[i]๋Š” ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฌผ๊ฑด์€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, "Book"๊ณผ "book"์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌผ๊ฑด์ž…๋‹ˆ๋‹ค.
    • 1 ≤ storage[i]์˜ ๊ธธ์ด ≤ 30
    • 1 ≤ num์˜ ๊ธธ์ด ≤ 20
    • num[i]์—๋Š” storage[i]์— ํ•ด๋‹นํ•˜๋Š” ๋ฌผ๊ฑด์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ด๊ฒจ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€์žฅ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์€ ๋ฌผ๊ฑด์ด ๋‘ ๊ฐ€์ง€ ์ด์ƒ์ธ ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค.
  • ํ•œ ์นธ์—๋Š” ํ•œ ์ข…๋ฅ˜์˜ ๋ฌผ๊ฑด๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

2. ์ถœ๋ ฅ ์˜ˆ์‹œ

 

3. ๋ฌธ์ œ ๋‹ต์•ˆ

def solution(storage, num):
    clean_storage = []
    clean_num = []
    for i in range(len(storage)):
        if storage[i] in clean_storage:
            pos = clean_storage.index(storage[i])
            clean_num[pos] += num[i]
        else:
            clean_storage.append(storage[i]) # ๋ณ€๊ฒฝ ์ „ clean_storage.append(num[i])
            clean_num.append(num[i])
            
    # ์•„๋ž˜ ์ฝ”๋“œ์—๋Š” ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์—†์Šต๋‹ˆ๋‹ค.
            
    max_num = max(clean_num)
    answer = clean_storage[clean_num.index(max_num)]
    return answer