3052번 : 나머지 문제
두 자연수 A와 B가 있을 때, A%B 는 A를 B로 나눈 나머지 이다.
예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2 이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다.
그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/3052
풀이 코드
array = []
for i in range(10):
array.append(int(input())%42)
array = set(array)
print(len(array))
array = []
- 10개의 수를 저장할 빈 리스트를 생성
- 리스트는 대괄호 안에 원소를 넣어 초기화하고, 쉼표로 원소를 구분
- list_example = [1, 2, 3, 4, 5] 로 사용 가능
- 리스트의 인덱스는 0부터 시작하며, 인덱스 값을 괄호 안에 넣어 접근 가능
for _ in range(10):
- _ (언더바)를 사용하여 반복을 수행하되, 반복을 위한 변수의 값을 무시
- for 문에 해당되는 코드를 10번 수행
array.append(int(input())%42)
- 변수명.append() 메서드를 사용하여 array 리스트에 원소를 하나씩 삽입
- 입력값이 한줄씩 들어오므로, for 문 안에서 input() 함수 작성
- 문자열로 입력받은 값은 정수형으로 변환하기 위해 int() 함수 사용
- % 연산자를 사용하여, 42로 나눈 나머지를 array 리스트에 저장
array = set(array)
- 집합 자료형 set() 을 사용하여 중복을 제거
( 서로 다른 값이 몇 개 있는 지를 출력해야 하므로)
[집합 자료형 set]
집합 자료형은 리스트 혹은 문자열을 이용해서 만들 수 있음
1) 중복을 허용하지 않음
2) 순서가 없음
print(len(array))
- len() 함수를 사용하여, array 집합의 원소 개수를 출력
나동빈 '이것이 코딩 테스트다 with 파이썬' 책을 참고하여 작성하였습니다.
https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC
'백준 알고리즘 문제 풀이 [Python]' 카테고리의 다른 글
[백준/Python] 8958번 OX퀴즈 (1차원 배열) (0) | 2023.02.22 |
---|---|
[백준/Python] 1546번 평균 (1차원 배열) (0) | 2023.02.22 |
[백준/Python] 5597번 과제 안 내신 분..? (1차원 배열) (0) | 2023.02.22 |
[백준/Python] 2562번 최댓값 (1차원 배열) (0) | 2023.02.22 |
[백준/Python] 10818번 최소, 최대 (1차원 배열) (0) | 2023.02.22 |