코딩하는 둥둥

[ 백준 Baekjoon / JAVA ] 3052번 : 나머지 본문

Backend/백준

[ 백준 Baekjoon / JAVA ] 3052번 : 나머지

둥둥 2022. 5. 26. 20:44
728x90
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다.
예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다.
그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
- 입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
- 출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

https://www.acmicpc.net/problem/3052

 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net


Scanner + 배열

10개의 수를 입력받는것과 입력받은 수들을 42로 나눈 나머지를 구하는것까지는 작성했으나 서로 다른 나머지가 몇 개 있는지 출력하는 부분에서 제대로 값이 출력되지 않았다.

그래서 검색을 통해 나머지를 출력하는 부분을 참고해서 작성했다.

rArr[i]의 값과 rArr[i+1]의 값을 비교하기위해 논리값을 먼저 false로 선언한 후, 해당값들을 비교했을때 서로 같을 경우 tf의 값을 true로 선언하여 tf값이 false일 경우에만 count값이 올라가도록 했다.

해당 방법은 이 블로그 글(https://velog.io/@cksgh989/123)을 참고하였다.


 

본 문제를 풀기위해 구글링하던중 hashmap을 이용해 문제를 푼 글도 발견해서 따라해보기로 했다.

728x90