문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
예제 입력 1 복사
1
2
3
4
5
6
7
8
9
10
예제 출력 1 복사
10
각 수를 42로 나눈 나머지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이다.
풀이
1 value = []
2
3 for i in range(10):
4 A = int(input())
5 value.append(A % 42)
6
7 value = set(value)
8 print(len(value))
- 1번째 줄 : 빈 배열을 만들어준다.
- 4~5번째 줄 : A로 입력 받은뒤, append를 이용해 배열의 마지막에 원소를 추가해준다.
- 5번째 줄 : 입력받은 값을 42로 나눈 나머지들이 value에 저장된다.
- 7번째 줄 : value를 set으로 집합 자료형으로 만들어준다. (중복 제거)
- 8번째 줄 : len()함수로 value의 길이를 출력해준다.
배운점
Set() 함수
set() : 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다.
set()의 특징
- 중복을 허용하지 않는다.
- 순서가 없다.
set 중복 제거
#list를 set으로 변환해 중복값 삭제 숫자 타입
set([1,1,2,2,3,3,4,5])
#{1, 2, 3, 4, 5}
#list를 set을 변환해 중복값 삭제 문자열 타입
set(['a', 'a', 'b', 'b', 'c'])
#{'b', 'c', 'a'}
#숫자와 문자열 혼합 타입
set([1, 1, 'x', 'x'])
#{1, 'x'}
len() 함수
len() : 문자열의 길이를 반환하는 함수
간단한 예는 다음과 같다.
len( "abc" ) # 3 반환
정수나 실수 등은 문자열이 아니므로 에러가 난다. 문자열로 변환한 후 센다.
len( str( 1234 ) ) # 4 반환
한글도 1로, 공백도 1로 센다.
len( "한글과 공백" ) # 6 반환
리스트나 튜플 등에서는 그 안에 속한 값의 개수를 반환한다.
len( [ 11, 22, 33, 44, 55, 66 ] ) # 6 반환
728x90
반응형
'코테 문제 풀기' 카테고리의 다른 글
백준 11720. 숫자의 합 (with 파이썬) (0) | 2023.03.30 |
---|---|
백준 10811. 바구니 뒤집기 (with.python) (0) | 2023.03.28 |
백준 10813. 공 바꾸기 (0) | 2023.03.27 |
백준 10810. 공 넣기 (with.python) (0) | 2023.03.27 |
백준 5597번. 과제 안 내신 분..? (with python) (0) | 2023.03.26 |