반응형
DoZZang
Do IT
DoZZang
전체 방문자
오늘
어제
  • Programming
    • Git
    • Web
    • 기타
    • Python
      • CodeUp
    • Math
    • Algorithm
    • Baekjoon
    • C,C++
    • Life
      • 독서
      • Just
      • 영화

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DoZZang

Do IT

[C] 백준 2562번 : 최댓값
Baekjoon

[C] 백준 2562번 : 최댓값

2022. 8. 10. 19:08
반응형

https://www.acmicpc.net/problem/2562

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어

www.acmicpc.net

코드

#include <stdio.h>
    int main() {
        int a[9],b[9];
        int temp,find_number;
      for(int i = 0; i < 9; i++) {  
      scanf("%d",&a[i]);
        b[i] = a[i];
        }
  
      for(int i = 0; i < 9; i++) {
        for(int j = 0; j < 9; j++) {
          if(a[j] < a[j+1]) {
            temp = a[j];
            a[j] = a[j+1];
            a[j+1] = temp;
          }
        }
      }
      for(int i = 0; i < 9; i++) {
          if(a[1] == b[i]) {
            find_number = i + 1;
        }
      }
      printf("%d\n%d",a[1],find_number);
      return 0;
      }

☞ 풀이 전

9개의 정수형 데이터를 저장할 수 있는 일차원 배열 a와 비교하기 위해 9개의 정수형 데이터를 저장해놓을 일차원 배열 b와 임시의 정수형 변수 temp 최댓값의 index 번호를 저장해 줄 정수형 변수 find_number를 선언했습니다.

 

☞ 왜?

일차원 배열 a에 9개의 정수형 데이터를 받고(이 과정에서 일차원 배열 a의 값을 일차원 배열 b에 대입해 줍니다.) 배열 a에 있는 원소들을 차례로 비교시켜 최댓값이 0번째 인덱스로 오게끔 한 뒤 원소의 순서가 바뀌기 전인 배열 a의 값이 들어있는 배열 b와 a의 0번째 인덱스 값을 비교하여 일치하는 배열 b의 인덱스 값  + 1을 find_number에 대입하면 최댓값과 최댓값의 인덱스를 찾아낼 수 있을 것이라 생각했습니다.

 

☞ 다른 사람의 코드

#include <stdio.h>
int main() {
    int arr[10], big = 0, index;
    for (int i = 1; i <= 9; i++)
    {
        scanf("%d", &arr[i]);
        if (arr[i] > big)
        {
            big = arr[i];
            index = i;
        }
    }
    printf("%d\n%d", big, index);
}

☞ 느낀 점

배열의 원소를 정렬하는 것이 아닌 최댓값만 뽑아내면 되는 것이었으므로 배열을 하나 더 도입할 필요도 없었고 그냥 일반 최댓값 찾듯이 풀면 되었을 문제였는데 배열이 들어가서 어렵게 생각한 것 같습니다. 쓸 데 없이 코드길이도 길어지고 효율성도 떨어지는 풀이였습니다.

 

반응형

'Baekjoon' 카테고리의 다른 글

[C] 백준 1546번 : 평균  (0) 2022.08.16
[C] 백준 3052번 : 나머지  (0) 2022.08.16
[C] 백준 2439번 : 별 찍기 - 2  (0) 2022.08.13
[C] 백준 15552번 : 빠른 A+B  (0) 2022.08.12
[C] 백준 2480번 : 주사위 세개  (0) 2022.08.11
    'Baekjoon' 카테고리의 다른 글
    • [C] 백준 3052번 : 나머지
    • [C] 백준 2439번 : 별 찍기 - 2
    • [C] 백준 15552번 : 빠른 A+B
    • [C] 백준 2480번 : 주사위 세개
    DoZZang
    DoZZang
    과정은 힘들지만 성장은 즐겁습니다.

    티스토리툴바