나를 기록하다
article thumbnail
반응형

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))
  1. remainders라는 빈 set 객체를 생성합니다. set은 중복되는 값을 허용하지 않기 때문에, 중복 없이 값을 세는 데에 적합합니다.
  2. for 루프를 이용해서 10개의 수를 입력받습니다. num 변수에는 입력받은 수가 저장됩니다.
  3. 입력받은 수 num을 42로 나눈 나머지를 구합니다. set 객체에 값이 없는 경우에는 .add() 메소드를 사용해서 값을 추가할 수 있습니다. 따라서 remainders.add(num % 42) 코드는 num을 42로 나눈 나머지를 remainders 집합에 추가하는 코드입니다.
  4. len(remainders) 코드를 이용해서 remainders 집합의 길이를 출력합니다. 이 값은 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지를 의미합니다.

위 코드는 리스트 대신 set 객체를 사용해서 입력된 수를 중복 없이 세는 방법을 보여줍니다. set 객체는 순서가 없기 때문에, append() 대신 .add() 메소드를 사용해야 합니다.

반응형
profile

나를 기록하다

@prao

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...