쉽고 깔끔하게
[백준 알고리즘/python3] 3052번 나머지 문제풀이 본문
728x90
반응형
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
예제 입력 | 예제 출력 |
1 2 3 4 5 6 7 8 9 10 |
10 |
42 84 252 420 840 126 42 84 420 126 |
1 |
39 40 41 42 43 44 82 83 84 85 |
6 |
<정답>
[set 함수]
set()는 중복을 허용하지 않는다, 순서가 없다는 2가지 특징을 가지고 있다.
위의 코드는 이러한 특징을 이용하여 중복을 제거하기 위한 필터 역할로 사용했다.
[교집합, 합집합, 차집합 구하기]
set()는 교집합, 합집합, 차집합을 구할 때 유용하게 사용할 수 있다.
• 교집합
- & 기호를 이용한 교집합
s1 & s2
- intersection()를 이용한 교집합
s1.intersection(s2)
• 합집합
- | 기호를 이용한 합집합
s1 | s2
- union()를 이용한 합집합
s1.union(s2)
• 차집합
- - 를 이용한 차집합
s1 - s2
- difference()를 이용한 차집합
s1.difference(s2)
[집합 자료형 관련 함수]
• add : 값 1개 추가하기
s1.add(값)
• update : 값 여러 개 추가하기
s1.update([값1, 값2, ...])
• remove : 특정 값 제거하기
s1.remove(값)
728x90
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[백준 알고리즘/python3] 8958번 OX퀴즈 문제풀이 (0) | 2021.01.12 |
---|---|
[백준 알고리즘/python3] 1546번 평균 문제풀이 (0) | 2021.01.08 |
[백준 알고리즘/python3] 2577번 숫자의 개수 문제풀이 (0) | 2021.01.07 |
[백준 알고리즘/python3] 2562번 최댓값 문제풀이 (0) | 2021.01.07 |
[백준 알고리즘/python3] 10818번 최소, 최대 문제풀이 (0) | 2021.01.07 |