목록중복제거 (3)
오랑우탄의 반란

오늘도 오랑이는 문제를 풉니다. 둘만의 암호 풀이 과정alphabet 문자열 생성 후 skip에 포함된 문자 제거s 의 문자에 대해 인덱스 + index 에 해당되는 문자 alphabet에서 꺼내서 출력 우선 s 인덱스 카운트가 원활하게 되도록 alphabet 문자열 생성 후 skip 에 포함된 문자를 제거해주는 작업을 해줍니다.def solution(s, skip, index): answer = '' alphabet = 'abcdefghijklmnopqrstuvwxyz' alphabet = ''.join(sorted(set(alphabet) - set(skip))) skip 이 제거된 알파벳을 출력해보면 아래와 같이 나옵니다. 이제 s 인덱스+index 에 맞는 알파벳을 출력해주는..

오늘도 오랑이는 문제를 풉니다. 체육복 풀이 과정 여분 체육복 학생이 도난 당하면 빌려줄 수 없음 → reserve 와 lost 의 공통 숫자 제거lost와 reserve 를 비교해서 가장 작은 수부터 제거 (그리디)answer 는 n - lost 개수우선 마지막 제한사항을 보면 여벌 체육복이 있는 학생이 도난당했을 경우, 해당 학생은 다른 학생에게 옷을 빌려줄 수 없게 된다는 조건이 있습니다. 이를 다른 말로 해석해보면, lost 와 reserve 에 같은 숫자가 있을 경우 해당 숫자는 1) 옷을 빌려줄 수 없기 때문에 reserve 에서 제거해야 하고 2) 이미 여분이 있기 때문에 옷을 빌릴 필요가 없어서 lost 에서도 제거해야 합니다. 즉 lost와 reserve 의 교집합을 제거하면 되는데, ..

오늘도 오랑이는 문제를 풉니다. 두 개 뽑아서 더하기 풀이 과정리스트의 combination 을 구해서 각각의 값을 더하는 문제입니다. 전에 비슷한 문제가 있었는데 어떤 거였는지 기억이 안 나네요..어쨌든 전과 동일하게 numbers 의 i 와 i+1 인 j 에 대해 각각 추출해서 더하면 됩니다.def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1,len(numbers)): answer.append(numbers[i]+numbers[j]) return sorted(answer) 다만 위와 같이 작성했더니 중복값이 나와서 틀렸습니다.파이썬 중복값 제거를 위해서는 ..