PS/Baekjoon Online Judge

[백준 3052] 나머지 [C]

kimyoungrok 2021. 7. 11. 18:14
728x90

백준 - 3052


풀이

입력받은 값을 42로 나누었을 때의 나머지를 저장해두고 비교해서 서로 다른 수가 몇 개인지 찾아내는 문제이다.

최선의 경우에는 1개이지만, 최악의 경우에는 42개가 나올 수 있다.

 

수를 입력받고 배열의 마지막 인덱스까지 탐색 했는데 동일한 수가 없다면, 새로 등록을 해주는 형식이다.


소스코드

#include <stdio.h>
int main(){
    int arr[42], num, idx = 1;
    for (int i = 0; i < 10; i++){
        scanf("%d", &num);
        num %= 42;
        if (!i)
            arr[0] = num;
        else
            for (int j = 0; j < idx; j++)
                if (arr[j] != num && j == idx - 1){
                    arr[j+1] = num;
                    idx++;
                }else if (num == arr[j])
                    break;
    }
    printf("%d\n", idx);
}

출처

 

3052번: 나머지

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

www.acmicpc.net

 

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 10797] 10부제 [C]  (0) 2021.07.11
[백준 8958] OX퀴즈 [C]  (0) 2021.07.11
[백준 2920] 음계 [C]  (0) 2021.07.11
[백준 10866] 덱 [C]  (0) 2021.07.10
[백준 2908] 상수 [C]  (0) 2021.07.10