몸과 마음이 건전한 SW 개발자

Softeer [Level 1] 나무 심기 {언어 : C언어} 본문

개발 언어 입문/C언어

Softeer [Level 1] 나무 심기 {언어 : C언어}

스위태니 2024. 2. 22. 17:32

문제 링크

https://softeer.ai/practice/7353

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

정답 코드

#include <stdio.h>
#include <limits.h> // INT_MIN과 INT_MAX를 사용하기 위해 포함합니다.

int main(void) {
    int n;
    scanf("%d", &n); // 배열의 크기를 입력 받습니다.

    // int answer = INT_MIN // 이렇게 사용해도 좋다.
    int arr[n], answer = -10000;

    // 배열의 각 요소를 입력 받기 위한 반복문입니다.
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    // 간단하게 이중 for문
    for (int i = 0; i < n-1; i++) {
        for (int j = i+1; j < n; j ++) {
            int product = arr[i] * arr[j]; // 직접 곱한 값을 변수에 저장
            if (product > answer) {
                answer = product;
            };
        };
    };
    printf("%d", answer);
    
    return 0;
}

풀이 방법

  1. 변수를 설정한다.
  2. i는 0부터 n-1까지 j는 i+1 부터 n까지로 설정해서 겹치지 않게 만든다.
  3. 곱한 것을 answer와 비교해서 클 경우 answer에 값을 넣는다.

느낀점

  • 배열 입력 방식에 대해서 배웠다.