Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
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
Tags
more
Archives
Today
Total
관리 메뉴

ol-rlo-zl

[프로그래머스 lv1] 체육복 - 파이썬(Python) 본문

Programmers(Python)

[프로그래머스 lv1] 체육복 - 파이썬(Python)

ol-rlo-zl 2023. 4. 10. 20:21

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

첫 번째 풀이

def solution(n, lost, reserve):
    lost.sort()
    res = n - len(lost)
    del_lost = []
    for l in lost:
        if l in reserve:
            res += 1
            reserve.remove(l)
            del_lost.append(l)
    lost = list(set(lost) - set(del_lost)) 
    for l in lost:
        if l-1 in reserve:
            res += 1
            reserve.remove(l-1)
        elif l+1 in reserve:
            res += 1
            reserve.remove(l+1)
    return res

두 번째 풀이

def solution(n, lost, reserve):
    only_lost = set(lost) - set(reserve)
    only_reserve = set(reserve) - set(lost)
    find = 0
    for l in only_lost:
        if l-1 in only_reserve:
            find += 1
            only_reserve.remove(l-1)
        elif l+1 in only_reserve:
            find += 1
            only_reserve.remove(l+1)
    return n - len(only_lost) + find

다른 사람 풀이

def solution(n, lost, reserve): 
    only_reserve = set(reserve) - set(lost) 
    only_lost = set(lost) - set(reserve) 
    for i in only_reserve: 
        if i-1 in only_lost: 
            only_lost.remove(i-1)    
        elif i+1 in only_lost: 
            only_lost.remove(i+1)  
    return n - len(only_lost)