Coding Test/BaekJoon_Python

BaekJoon - 3052번: 나머지(1차원 배열, PYTHON)

  • -
728x90

문제 분석

입력받은 자연수 10개

각각의 자연수를 42로 나눈 나머지를 구한다

서로 다른 나머지의 수(다른 숫자의 개수)를 구한다

입력1

1
2
3
4
5
6
7
8
9
10

출력1

10

입력2

42
84
252
420
840
126
42
84
420
126

출력2

1

출력 매커니즘(예시)

  • 5 입력 -> 42로 나눈 나머지 5
  • 나머지를 배열에 넣어두기
  • ex) [0, 0, 1, 3, 0, 0]
  • 출력: 서로 다른 나머지의 수 = 0, 1, 3 -> 3개

유의사항(코드 설계)

  • 반복문은 입력받을 때를 제외하고 사용하지 않아도 됨
  • hint1: 중복된 수
  • hint2: 결과의 배열 길이

사용할 문법

  • for
  • list(append, len, set)
  • input
  • print

정답코드

#수 N(10)개 입력받기
N = 10
#비어있는 list 선언
N_list = []
#10개의 수를 입력받으며 42로 나눈 나머지를 배열에 넣기
for i in range(N):
    N_list.append(int(input()))
    N_list[i] = N_list[i]%42

#set함수 : 순서상관없이 중복값만 제거하는 함수
result = list(set(N_list))
#제거된 배열의 길이 = 서로 다른 나머지의 수
print(len(result))

실제 출력 화면

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.