백준

백준 1715 카드 정렬하기, c++

2024. 2. 15. 17:19

 

 

 

처음 작성한 코드는 다음과 같다.

하지만 틀렸다는 결과가 나왔다.

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    
    int arr[n];
    for(int i=0; i<n; i++)
        cin >> arr[i];
    
    int temp;
    for(int i=0; i<n-1; i++) {
        for(int j=i+1; j<n; j++) {
            if(arr[i]>arr[j]) {
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
    
    int sum = arr[0]+arr[1];
    int next;
    for(int i=2; i<n; i++)
        sum += (sum+arr[i]);
    cout << sum;

    return 0;
}

 

 

 

나는 배열을 오름차순으로 정렬하고 더해가는 과정을 직접 구현했다.

하지만 다른 코드들을 참고하니 시간적인 문제, 효율적인 문제를 해결하기 위해서 priority queue를 사용하는 것을 알 수 있었다.

pq를 사용해 문제를 해결할 수 있었다.

 

 

 

 

 

'백준' 카테고리의 다른 글

백준 2023 신기한 소수, c++  (0) 2024.02.18
백준 2229번: 조 짜기, c++  (0) 2024.02.17
백준 17425 약수의 합, c++  (0) 2024.02.15
백준 1038번: 감소하는 수, c++  (0) 2024.02.02
백준 2447번: 별 찍기 - 10, c++  (0) 2024.01.31