백준 3052번 - 나머지 / C++ 문제풀이

Been·2023년 11월 2일
0

백준

목록 보기
3/23

풀이과정

요약 : 서로 다른 값을 찾기 위해 중복된 값을 제거하는 것이 핵심이다.

1. 10칸짜리 배열 맞들기

2. 배열에 주어진 수를 입력받고 나머지 구하기

3. 중복된 값 제거해주기

중복된 값이 나오면 43으로 값을 변경했다. (42의 나머지로 나올 수 없기때문)

4. 43을 제외한 나머지 값들의 개수 구하기

논리 연산자 '!='를 사용해 43이 아닐때 변수 sum +=1 했다.

<C++ Code>

#include <iostream>
using namespace std;

int main()
{
    // 10칸짜리 배열 만들기
    int arr[10];

    //배열에 수 입력받고 나머지 구하기
    for (int i=0; i<10; i++)
    {
        cin >> arr[i];
        arr[i] = arr[i]%42;
    }

    //중복된 값 제거해주기.
    for (int i=0; i<10; i++)
    {
        for (int j=i+1; j<10; j++)
        {
            if (arr[i] == arr[j])
            {
                arr[j] = 43; //42의 나머지가 아닌 값을 만들기 위함.
            }
        }
    }

    //43을 제외한 나머지 값들의 개수 구하기
    int sum = 0;
    for (int i=0; i<10; i++)
    {
        if (arr[i] != 43)
        {
            sum +=1 ;
        }
    }

    cout << sum;
}
profile
콧콧코코콧코콧ㅅ

0개의 댓글