Baekjoon 문제 풀기 (3052번 : 나머지) Python

3052번 : 나머지

1. 문제읽기


리스트의 중복값 제거

리스트의 중복값 제거 방법만 알면 쉽게 풀 수 있는 문제이다.
나는 set함수를 몰라서 중복값을 제거하는 코드를 짜서 풀었다.
근데 중복 제거하는 코드도 이상하게 짜서 정렬해주지 않으면 동작하지 않는다..
시간도 오래걸리고 좋은 코드도 아니지만 내 손으로 풀었다는 것에 만족한다.

2. 제출 코드


list_remainder = []
rm_remainder = []
for i in range(10):
    list_remainder.append(int(input())%42)
list_remainder.sort()

for i in range(len(list_remainder)):
    for j in range(i+1, len(list_remainder)):
        if list_remainder[i] == list_remainder[j]:
            break
        else:
            rm_remainder.append(list_remainder[i])
            break

rm_remainder.append(list_remainder[len(list_remainder)-1])
print(len(rm_remainder))

3. 공부할 것


set()

중복값이 존재하지 않는 집합
다른 iterable 자료형을 집합 자료형으로 변환 가능.
자세한 내용은 여기 참조

set함수를 이용해서 풀면 아래와 같이 간단하게 나타낼 수 있다.

list_remainder = []

for i in range(10):
    list_remainder.append(int(input())%42)

set_remainder = set(list_remainder)
print(len(set_remainder))
for문을 이용한 리스트 중복 제거 방법
  1. 리스트를 하나 더 만든다.
  2. 새 리스트에 없으면 값을 추가한다.
  3. 새 리스트에 있으면 값을 추가하지 않는다.
    출처 : 여기

댓글남기기