Day10_[BOJ 2914] 나머지 / C

장존훈·2022년 11월 5일

100-Day Algorithm Challenge

목록 보기
15/19
post-thumbnail

Prologue

나머지는 영어로 Rest입니다.

Rest의 또 다른 뜻으로 쉬다라는 뜻도 있습니다.

그런 의미에서, 오늘은 드립도 쉬어가는 차원에서 나머지의 개수를 세어보겠습니다.

Problem

Problem Solving Methods

int main() {
  int a[1001] = {0,};
  int b[1001] = {0,};
  int rest, count = 0;
  for (int i = 0; i < 10; i++) {
    scanf ("%d", &a[i]);
    b[i] = a[i] % 42;
  }
  for (int j = 0; j < 10; j++) {
    rest = b[j];
    for (int k = 0; k < j; k++) {
      if(b[k] == rest) {
        b[j] = -1;
      }
    }
  }
  for(int n = 0; n < 10; n++) {
    if(b[n] != -1) {
      count++;
    }
  }
  printf("%d", count);
}

몇 안되는 만족스러운 코드 중 하나입니다.
우선 배열을 만들고, 임의의 숫자 10개를 받습니다. 이를 42로 나눈 나머지를 다른 배열에 넣어준 뒤, for문에 넣어 숫자 하나씩 키워가며 이전 숫자와 비교합니다. 만약 숫자가 같다면 해당 배열은 -1로 체크를 해두고, 마지막에 돌며 -1을 확인 해줍니다.

Retrospect

역시 주말은 나태해지기 쉬운 것 같습니다.

그래도 열심히 코딩 하겠습니다.

감사합니다.

0개의 댓글