알고리즘 공부 14일차

김서영·2024년 1월 22일
0

알고리즘

목록 보기
14/25

1. 프로그래머스 - 기능개발

def solution(progresses, speeds):
    answer = []
    max_val = 0
    cnt = 0
    for i in range(len(progresses)):
        check = 0
        while progresses[i] < 100:
            progresses[i] += speeds[i]
            check += 1
        if max_val < check:
            if max_val == 0:
                max_val = check
                cnt += 1
            else:
                max_val = check
                answer.append(cnt)
                cnt = 1
        else:
            cnt += 1
    answer.append(cnt)
    return answer

2. 프로그래머스 - 구명보트

def solution(people, limit):
    answer = 0
    people.sort(reverse=True)
    min_val = min(people)
    cnt = -1
    for i in range(len(people)):
        if i == len(people) + cnt + 1:
            break
        if limit - min_val < people[i]:
            answer += 1
        else:
            if i == len(people) + cnt:
                answer += 1
                break
            else:
                if people[i] + people[cnt] <= limit:
                    answer += 1
                    cnt -= 1
                else:
                    answer += 1
    return answer
profile
개발과 지식의 성장을 즐기는 개발자

0개의 댓글