68
풀이
C
길이 42짜리 배열을 선언하고 나머지 값을 인덱스로 하여 카운트를 올린 후, 마지막에 카운트가 0이 아닌 위치만 집계하면 됩니다.
C++
길이 42짜리 배열을 선언하고 나머지 값을 인덱스로 하여 카운트를 올린 후, 마지막에 카운트가 0이 아닌 위치만 집계하면 됩니다.
Java
나머지 값을 중복을 허용하지 않는 HashSet에 저장한 후 마지막에 HashSet 사이즈를 출력하면 됩니다.
Python
나머지 값을 리스트에 저장한 후 마지막에 중복을 허용하지 않는 Set으로 바꾸고 사이즈를 출력하면 됩니다.
코드
C
#include <stdio.h>
int main() {
int num[42] = {0, }, i, a, temp, rlt = 0;
for(i = 0; i < 10; i++){
scanf("%d", &a);
temp = a%42;
num[temp]++;
}
for(i = 0;i < 42; i++){
if(num[i] != 0)
rlt++;
}
printf("%d", rlt);
return 0;
}
C++
#include <iostream>
using namespace std;
int main() {
int num[42] = {0, }, a, temp, rlt = 0;
for(int i = 0; i < 10; i++){
cin>>a;
temp = a%42;
num[temp]++;
}
for(int i = 0;i < 42; i++){
if(num[i] != 0)
rlt++;
}
cout<<rlt;
return 0;
}
Java
import java.util.Scanner;
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashSet<Integer> num = new HashSet<Integer>();
for(int i = 0;i < 10;i++){
num.add(sc.nextInt() % 42);
}
sc.close();
System.out.print(num.size());
}
}
Python
num = []
for i in range(10):
n = int(input())
num.append(n % 42)
num = set(num)
print(len(num))
문제 출처
https://www.acmicpc.net/problem/3052