Fascination
article thumbnail
Published 2021. 9. 17. 13:02
[C++] BOJ 2959 : 거북이 CODE/BOJ

[문제]

 

2959번: 거북이

첫째 줄에 거북이가 생각한 네 양의 정수 A, B, C, D가 주어진다. (0 < A, B, C, D < 100)

www.acmicpc.net

 

 

[문제 풀이]

- 입력 받은 수들 중 만들어 질 수 만들어 질 수 있는 사각형의 크기는 가장 짧은 변과 2번째로 긴 변의 곱으로 구할 수 있음

- 따라서 입력받은 수들을 정렬한 후 인덱스 0, 2번째의 수들을 활용하여 답을 도출

 

 

[코드]

#include <iostream>
using namespace std;

int sorting(int* arr);

int main() {
    int v[4];
    int i=0, num;
    while(i<4){ // 4개의 수 입력받기
        cin>>num;
        v[i]=num;
        i++;
    }
    cout<<sorting(v);
}

int sorting(int* arr){ // 포인터로 함수 인자 전달
    int temp; // 수를 바꿀 때 사용
    for(int i=0;i<3;i++){ // 앞에 있는 수가 뒤에 있는 수 보다 작다면 계속해서 뒤로 밀림
        for(int j=i+1;j<4;j++){ // i보다 큰 숫자들에 대해 비교 반복
            if(arr[i]>arr[j]){
                temp=arr[i];
                arr[i]=arr[j];
                arr[j]=temp;
            }
        }
    }
    return arr[0]*arr[2]; // 정렬된 4개의 수 중 인덱스 0번쨰와 2번째의 수를 곱한 것이 거북이가 움직인 거리로 만들 수 있는 직사각형의 크기
}

 

 

[채점 결과]

'CODE > BOJ' 카테고리의 다른 글

[C++] BOJ 10814 : 나이순 정렬  (0) 2021.09.19
[C++] BOJ 2693 : N번째 큰 수  (0) 2021.09.19
[C++] BOJ 2752 : 세수정렬  (0) 2021.09.17
[C++] BOJ 11279 : 최대힙  (0) 2021.09.16
[C++] BOJ 1158 : 요세푸스 문제  (0) 2021.09.16
profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!