문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
제한사항
-10,000 ≤ numbers의 원소 ≤ 10,000
2 ≤ numbers 의 길이 ≤ 100
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// numbers_len은 배열 numbers의 길이입니다.
int solution(int numbers[], size_t numbers_len) {
int answer = -100000000;
for(int i=0;i<numbers_len;i++)
{
for(int j=i+1;j<numbers_len;j++)
{
if(numbers[i]*numbers[j]>=answer)
{
answer=numbers[i]*numbers[j];
}
}
}
return answer;
}
+) 초기값을 0으로 설정하니 case7번에서 자꾸 오류가 났다.
그렇게 질문하기 페이지에 들어가니[-10,10]인 배열일 경우를 생각해줘야한다.
초기값이 0인데 반환값이 -100으로 초기값보다 크지 않으므로 계속0이 나오고
이 케이스를 생각해주지 못해 자꾸 틀렸다.
'C언어' 카테고리의 다른 글
[프로그래머스-C언어] 짝수 홀수 개수 (0) | 2024.05.27 |
---|---|
[프로그래머스-C언어] 점의 위치 구하기 (0) | 2024.05.27 |
[프로그래머스-C언어] n의 배수 고르기 (0) | 2024.05.27 |
[프로그래머스-C언어] 가장 큰 수 찾기 (0) | 2024.05.27 |
[프로그래머스-C언어] 제곱수 판별하기 (0) | 2024.05.27 |