[๐Ÿ™ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค lv.2- ๊ธฐ๋Šฅ๊ฐœ๋ฐœ / Python

dsfasdยท2022๋…„ 11์›” 20์ผ
0

๋ฌธ์ œ

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

๋ฌธ์ œ ์„ค๋ช…
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒ€์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ์€ ์ง„๋„๊ฐ€ 100%์ผ ๋•Œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์†๋„๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ๋ณด๋‹ค ๋จผ์ € ๊ฐœ๋ฐœ๋  ์ˆ˜ ์žˆ๊ณ , ์ด๋•Œ ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋  ๋•Œ ํ•จ๊ป˜ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

๋จผ์ € ๋ฐฐํฌ๋˜์–ด์•ผ ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ž‘์—…์˜ ์ง„๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด progresses์™€ ๊ฐ ์ž‘์—…์˜ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด speeds๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ ๋ฐฐํฌ๋งˆ๋‹ค ๋ช‡ ๊ฐœ์˜ ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”.


ํ’€์ด

import math   

def solution(progresses, speeds):
    
    answer = []
    now = 0

    for i in range(len(progresses)):
        progresses[i] = math.ceil((100 - progresses[i])/speeds[i])  


    for i in progresses:

        if i > now:
            answer.append(1)
            now = i
        else:
            answer[-1] += 1

    return answer

์ž‘์—…์˜ ๊ฐœ์ˆ˜์™€ ์ž‘์—… ์†๋„์˜ ๋ฐฐ์—ด ์ˆ˜๊ฐ€ ๋™์ผํ•œ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์ฃผ์–ด์ง€๋ฏ€๋กœ, progresses์— ๋ฐฐํฌ๊ฐ€ ํ•„์š”ํ•œ ์ผ์ž๋ฅผ ๊ณ„์‚ฐํ•œ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

for๋ฌธ์œผ๋กœ progress๋ฅผ ๋Œ๋ฉด์„œ ํ˜„์žฌ ํฌ๊ธฐ์™€ ๋‹ค์Œ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋ฉด์„œ progresses๊ฐ€ ๋” ์ž‘์€ ์ˆ˜๊ฐ€ ์˜ค๊ฒŒ ๋œ๋‹ค๋ฉด ๋งˆ์ง€๋ง‰ ๋ฐฐ์—ด์˜ ์ˆ˜๋ฅผ 1 ์ฆ๊ฐ€ํ•œ๋‹ค.

profile
๊ธฐ๋ก์„ ์ •๋ฆฌํ•˜๋Š” ๊ณต๊ฐ„!

0๊ฐœ์˜ ๋Œ“๊ธ€