티스토리 뷰

PS/programmers

[Python] [프로그래머스] 체육복

개발을해보자 2020. 7. 3. 21:54

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

 

코딩테스트 연습 - 체육복

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

programmers.co.kr

 

def solution(n, lost, reserve):
    
    student = {}
    for i in range(n):
        student[i + 1] = 1
    for l in lost:
        if l in  student:
            student[l] -= 1
    for r in reserve:
        if r in  student:
            student[r] += 1

    answer = 0
    
    for key in student.keys():
        if student[key] == 0 and key == 1:
            if student[key + 1] == 2:
                student[key] += 1
                student[key + 1] -= 1
        elif student[key] == 0 and (2 <= key <= n - 1):
            if student[key - 1] == 2:
                student[key - 1] -= 1
                student[key] += 1
            elif student[key + 1] == 2:
                student[key + 1] -= 1
                student[key] += 1
        elif student[key] == 0 and key == n:
            if student[key - 1] == 2:
                student[key - 1] -= 1
                student[key] += 1
            
    for i in student.values():
        if i >= 1:
            answer += 1
    return answer

 

 

def solution(n, lost, reserve):
     answer = 0
     for i in range(1, n + 1):
         if i not in lost:
             answer += 1
         elif i in reserve:
             answer += 1
             lost.remove(i)
             reserve.remove(i)
            
     for i in lost:
         if i - 1 in reserve:
             answer += 1
             reserve.remove(i - 1)
         elif i + 1 in reserve:
             answer += 1
             reserve.remove(i + 1)

    return answer
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함