-
[🤷♀️ 프로그래머스 Python] 체육복Algorithm/1일 1코테 2020. 9. 23. 22:05반응형
문제
programmers.co.kr/learn/courses/30/lessons/42862?language=python3
첫번째 시도
def solution(n, l, r): answer = [] n_list = [n for n in range(1,n+1)] for i in n_list: if i not in l and i not in r: answer.append(i) while 1: if len(l) == 0 or len(r) == 0: if len(r) > 0: for i in r: answer.append(i) return len(answer) return len(answer) a = r.pop(0) b = l.pop(0) if a == b+1: answer.append(a) answer.append(b) continue elif a == b-1: answer.append(a) answer.append(b) continue print(answer)
정확도 8.3 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
두번째 시도
def solution(n, l, r): all_list = [n for n in range(1, n+1)] find_list = [] for i in l: all_list.remove(i) while True: if len(l) == 0 or len(r) == 0: for i in find_list: all_list.append(i) return len(all_list) a = l[0] b = r[0] if a == b-1 or a == b+1: find_list.append(a) l.pop(0) r.pop(0)
시간초과...^^
다른사람 풀이
def solution(n, lost, reserve): set_reserve = set(reserve) - set(lost) set_lost = set(lost) - set(reserve) for i in set_reserve: if i-1 in set_lost: set_lost.remove(i-1) elif i+1 in set_lost: set_lost.remove(i+1) return n-len(set_lost)
이렇게 간단하다니
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[프로그래머스 Python] 비밀지도(from kakao) (0) 2020.10.13 [백준 Python] 1094 막대기 (0) 2020.09.27 [프로그래머스 Python] 핸드폰 번호 가리기 (0) 2020.09.23 [프로그래머스 Python] 하샤드 수 (0) 2020.09.23 [프로그래머스 Python] 콜라츠 추측 (0) 2020.09.23