PS/백준
백준 (3052번: 나머지)_Java
codeStudy123
2021. 10. 11. 16:58
제목: 나머지
브론즈2
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
기본적으로 어떻게 해야할지는 알았지만 중복되는것은 제외하기 위해 애먹은듯하다. 바로 코드를 보여주겠다.
BufferedReader로 input받은 코드

- 10번째 줄: %42의 값을 저장하기 위한 배열 선언
- 17번째 줄: 서로 다른 값이라고 가정을 한다. boolean b의 기능은 다른값만 출력하기 위한 기능이다.
- 18번째 줄: 초기화를 k=j+1을 한 이유는 같은 index의 값은 비교할 필요 없어서이다.
- 20번째 줄: b를 true로 만들어 출력을 못하게 만든다
- 21번째 줄: 1번만 비교하면 되니 조건이 성립하면 벗어난다.
- 24번째 줄: b==false시 count 1증가
알고리즘 분류
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
대표사진: