반응형
1)
remainders = []
for i in range(10):
num = int(input())
remainder = num % 42
if remainder not in remainders:
remainders.append(remainder)
print(len(remainders))
- 위 코드에서는 remainders라는 빈 리스트를 만들어서, 입력받은 수를 42로 나눈 나머지를 리스트에 추가합니다. 이 때, 이미 리스트에 있는 나머지는 추가하지 않도록 체크하고, 추가되는 나머지가 처음 등장하는 값일 경우에만 리스트에 추가합니다.
- 입력받은 10개의 수에 대해 처리가 끝나면, remainders 리스트의 길이를 출력하면 됩니다. 이 값은 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지를 의미합니다.
2)
remainders = set()
for i in range(10):
num = int(input())
remainders.add(num % 42)
print(len(remainders))
- remainders라는 빈 set 객체를 생성합니다. set은 중복되는 값을 허용하지 않기 때문에, 중복 없이 값을 세는 데에 적합합니다.
- for 루프를 이용해서 10개의 수를 입력받습니다. num 변수에는 입력받은 수가 저장됩니다.
- 입력받은 수 num을 42로 나눈 나머지를 구합니다. set 객체에 값이 없는 경우에는 .add() 메소드를 사용해서 값을 추가할 수 있습니다. 따라서 remainders.add(num % 42) 코드는 num을 42로 나눈 나머지를 remainders 집합에 추가하는 코드입니다.
- len(remainders) 코드를 이용해서 remainders 집합의 길이를 출력합니다. 이 값은 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지를 의미합니다.
위 코드는 리스트 대신 set 객체를 사용해서 입력된 수를 중복 없이 세는 방법을 보여줍니다. set 객체는 순서가 없기 때문에, append() 대신 .add() 메소드를 사용해야 합니다.
반응형
'Algorithm > baekjoon' 카테고리의 다른 글
[백준 1546 파이썬/python] 평균 (0) | 2023.03.03 |
---|---|
[백준 10811 파이썬/python] 바구니 뒤집기 (0) | 2023.03.03 |
[백준 5597 파이썬/python] 과제 안 내신 분..? (0) | 2023.03.03 |
[백준 10813 파이썬/python] 공 바꾸기 (0) | 2023.03.03 |
[백준 10810 파이썬/python] 공 넣기 (1) | 2023.03.03 |