문제 링크: https://www.acmicpc.net/problem/3052
백준 1차원 배열 6단계 - 3052번 나머지를 풀어보았다.
풀이: 나머지를 담은 배열을 만들고, 칸을 순회하며 나머지의 경우의 수를 센다.
C++
#include <iostream>
using namespace std;
int main()
{
int arr[42]={0,}; // 42의 나머지는 0부터 41임
int inp;
int count=0;
for(int i=0;i<10;i++)
{
cin>>inp;
arr[inp%42]++; // 나머지가 담긴 배열의 칸을 0이 아닌 값으로 변경
}
for(int i=0;i<42;i++) // 0이 아닌 칸의 수를 센다
{
if(arr[i]!=0) count++;
}
cout<<count;
}
Python
rem=[i for i in range(42)] # 나머지 배열
for i in range(10):
a=int(input())%42
if(a in rem): rem.remove(a) # 나머지가 있다면 삭제함
print(42-len(rem)) # 삭제된 개수 구하기
Java
import java.util.Scanner;
class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int[] arr=new int[42];
int cnt=0;
for(int i=0;i<10;i++)
{
int inp = sc.nextInt();
arr[inp%42]++;
}
for(int i=0;i<42;i++)
{
if(arr[i]!=0) cnt++;
}
System.out.println(cnt);
}
}
'코테용 문제풀이 > 백준' 카테고리의 다른 글
OX퀴즈 풀이 (0) | 2022.12.31 |
---|---|
평균 풀이 (0) | 2022.12.31 |
과제 안 내신 분..? 풀이 (0) | 2022.12.31 |
최댓값 풀이 (0) | 2022.12.31 |
최소, 최대 풀이 (0) | 2022.12.31 |