2022 스터디/알고리즘 스터디[2022]

[Greedy] 체육복

EYR 2022. 5. 16. 19:59

 

https://programmers.co.kr/learn/courses/30/lessons/42862

 

코딩테스트 연습 - 체육복

점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번

programmers.co.kr

def solution(n, lost, reserve):
    students = [-1] + ([1] * n)
    students[0] = -1

    for i in lost:
        students[i] -= 1
    
    for i in reserve:
        students[i] += 1

    for i in range(1,n+1):
        if students[i] > 1:
            if students[i-1] == 0:
                students[i-1] += 1
                students[i] -= 1
            elif n > i and students[i+1] == 0:
                students[i+1] += 1
                students[i] -= 1
            

        
    count = 0;
    for i in range(1, n+1):
        if students[i] > 0:
            count += 1
    
    return count

 

 

 

--> 요게 더 낫다

https://velog.io/@metterian/Day3-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%97%B0%EC%8A%B5-%ED%83%90%EC%9A%95%EB%B2%95Greedy-%EC%B2%B4%EC%9C%A1%EB%B3%B5

 

[Day3] [코딩테스트 연습] 탐욕법(Greedy) - 체육복

알고리즘의 각 단계에서 그 순간에 최적이라고 생각되는 것을 선택단, 현재의 선택이 마지막 해답의 최적성을 해치지 않는 경우만 적용가능빌려주려 합니다. 학생

velog.io

 

 

'2022 스터디 > 알고리즘 스터디[2022]' 카테고리의 다른 글

정렬  (0) 2023.03.18
[DFS/BFS] 타겟 넘버  (0) 2022.05.02
[해시] 완주하지 못한 선수  (0) 2022.04.11