C언어/백준

c언어) 백준 2576번 문제 < 홀수 >

Nesun 2021. 5. 4. 00:55

홀수 문제를 풀어보았다.

 

이미지 클릭 시 문제로 이동

 

 

그렇구나...

 

구상

  1. 7개 자연수 입력받기
  2. 홀수만 더하기
  3. 홀수 중 최솟값 찾기

귀찮아 ^^;;;

  
  #include <stdio.h>

  int plus(int arr[]) {
      int sum = 0;
      for (int i=0; i < 7; i++) {
          if (arr[i] % 2 != 0) {
              sum += arr[i];
          }
      }
      return sum;
  }

  int min_num(int arr[]) {
      int min = 100;
      for (int i = 0; i < 7; i++) {
          if (arr[i] %2 != 0) {
              if (arr[i] <= min) {
                  min = arr[i];
              }
          }
      }
      return min;
  }

  int main() {
      int num,n[7];
      for(int i = 0;i < 7;i++) {
          scanf_s("%d", &n[i]);
      }
      num = plus(n);
      if (num == 0) {
          printf("-1");
      }
      else {
          printf("%d\n", num);
          printf("%d", min_num(n));
      }
      return 0;
  }
  

코드 왜케 길어

아 싸 ~

 

함수로 쓰면 중복되는 부분이 너무 많아서 함수 없이 쓰는 게 훠어어엉ㄹ씬 코드가 줄어든다.


  #include <stdio.h>

  int main() {
      int n,sum=0,min=100;
      for (int i = 0;i < 7;i++) {
          scanf_s("%d", &n);
          if (n % 2 != 0) {
              sum += n;
              if (n <= min)
                  min = n;
          }
      }
      if (sum == 0)
          printf("-1");
      else
          printf("%d \n%d", sum, min);
      return 0;
  }

함수 안 쓰면 for문 한 번 만 쓰면 됨

for문에 합과 최솟값을 구해주는 부분을 다 넣어줌

 


끝.