개발/코테문제풀이
백준 3052번 자바풀이(HashSet)
후누피
2023. 4. 17. 13:59
728x90
문제이해)
10개의 수를 입력받고, 각각의 수를 42로 나눈 나머지값을 가져온다.
나눈 나머지값중 서로다른 값(중복되면 1개로 카운트)의 갯수를 출력하면된다.
풀이코드)
/* 백준 3052번 문제풀이)
* 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
*/
package test_0417;
import java.util.HashSet;
import java.util.Scanner;
public class test_0417_1 {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
HashSet<Integer> N_set = new HashSet<Integer>(); // hashset은 중복을 허용하지않는다. 그리고 순서는정열되지않는다.
// 이 문제에서는 순서는 상관없기때문에 hashset을 사용하였다.
for(int i=0; i<10; i++){
System.out.println("숫자를 입력하세요");
N_set.add(scan.nextInt()%42); // N_set에 10개의 수를입력하고 입력과동시에 42로 나눈 나머지값을 바로 요소로 저장해준다.
}
System.out.println("");
System.out.print("결과 :"+N_set.size()); // 저장된 나머지값인 요소에서 중복된값들은 1개로 통일되고, 서로 각기다른 수들의 size() 즉 갯수를 출력하게된다.
}
}
결과)
728x90