hye-log

[백준]3052번 나머지(JAVA) 본문

CodingTest/Baekjoon

[백준]3052번 나머지(JAVA)

iihye_ 2023. 8. 13. 03:11

0. 문제 링크

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

 

3052번: 나머지

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

www.acmicpc.net

 

1. 문제 설명

1) 주어진 10개의 숫자를 42로 나눈 나머지 중 서로 다른 값이 몇 개인지 출력하기

 

2. 입출력

// input
42
84
252
420
840
126
42
84
420
126

// output
1

 

3. 코드

import java.io.*;
import java.util.*;

public class b3052 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		HashSet<Integer> set = new HashSet<>(); // 중복 없이 저장할 수 있는 set 이용
		
		for (int i = 0; i < 10; i++) {
			int n = Integer.parseInt(br.readLine()); // 숫자 입력 받기
			set.add(n % 42); // 42로 나눈 나머지 set에 저장
		}
		
		System.out.println(set.size()); // set의 크기 출력
		
	}

}

 

실행 결과

 

4. 회고

1) 서로 다른 나머지의 개수를 찾아야 하므로 HashSet 활용

2) 입력 받은 숫자를 배열 등에 저장하지 않고 변수로 처리하기 (메모리 절약)

 

5. Github

https://github.com/iihye/Algorithm/blob/main/Baekjoon/b3052.java

 

 

728x90

'CodingTest > Baekjoon' 카테고리의 다른 글

[백준]10250번 ACM 호텔(JAVA)  (0) 2023.08.13
[백준]8958번 OX퀴즈(JAVA)  (0) 2023.08.13
[백준]2920번 음계(JAVA)  (0) 2023.08.13
[백준]11720번 숫자의 합(JAVA)  (0) 2023.08.13
[백준]2675번 문자열 반복(JAVA)  (0) 2023.08.13
Comments