알고리즘/백준

[파이썬, 자바] BOJ_3052(나머지)

딱따구르리 2021. 1. 27. 19:18
728x90
반응형

문제

 

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

 

3052번: 나머지

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

www.acmicpc.net


 

해설

 

이 문제는 파이썬으로 푼다면 굉장히 간단하게 풀 수 있는 문제이다.

그저 리스트와 리스트 중 중복된 값을 지워주는 set() 함수만 사용할 줄 알면 된다.

 


자바는 for each 루프나 for문으로 중복되지 않은 수만 따로 arrayList에 넣어주면 된다.


코드

 

-파이썬

#백준 3052(나머지)

num_list = []

for _ in range(10):
    num = int(input())
    num_list.append(num % 42)

num_list = set(num_list)
print(len(num_list))

 

-자바

//백준 3052(나머지)
import java.util.*;

public class Boj_3052 {

	public static void main(String[] args) {
		
		final int A = 10; 
		
		Scanner input = new Scanner(System.in);
		
		int[] num = new int[A];  
		
		for (int i = 0; i < num.length; i++) {
			num[i] = input.nextInt() % 42;
		}
		
		//중복 제거한 숫자들만 넣으려고 만듦
		ArrayList<Integer> arrayList = new ArrayList<Integer>();
		
		//onlyNum == 중복제거한 수를 넣을 배열
		for(int onlyNum : num) {
			if(!arrayList.contains(onlyNum))
				arrayList.add(onlyNum);
		}
		
		System.out.println(arrayList.size());
	}

}

 

728x90
반응형