Tiny Bunny [Python] [PCCE ๊ธฐ์ถœ๋ฌธ์ œ] 8๋ฒˆ / ์ฐฝ๊ณ  ์ •๋ฆฌ
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
programmers/Lv.0

[Python] [PCCE ๊ธฐ์ถœ๋ฌธ์ œ] 8๋ฒˆ / ์ฐฝ๊ณ  ์ •๋ฆฌ

by maesil 2025. 2. 27.

๋ฌธ์ œ ์„ค๋ช…

 

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

 

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


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

 

 

์ž…์ถœ๋ ฅ ์˜ˆ

storage num result
["pencil", "pencil", "pencil", "book"] [2, 4, 3, 1] "pencil"
["doll", "doll", "doll", "doll"] [1, 1, 1, 1] "doll"
["apple", "steel", "leaf", "apple", "leaf"] [5, 3, 5, 3, 7] "leaf"
["mirror", "net", "mirror", "net", "bottle"] [4, 1, 4, 1, 5] "mirror"

 

 

์ œ์ถœ ๋‚ด์—ญ

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_num.append(num[i])
            
    # ์•„๋ž˜ ์ฝ”๋“œ์—๋Š” ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์—†์Šต๋‹ˆ๋‹ค.
            
    max_num = max(clean_num)
    answer = clean_storage[clean_num.index(max_num)]
    return answer

 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค > PCCE ๊ธฐ์ถœ๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/250126

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr