Algorithm/Problem Solving 2020. 6. 3. 23:47

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)

 

문제 링크

- https://www.acmicpc.net/problem/1377

 

사용 알고리즘

- 정렬

 

풀이

- Bubble Sort를 1회 수행 시, 숫자가 앞으로 1칸 밖에 이동하지 못함

- 따라서 앞으로 가장 많이 이동한 칸의 수 + 1

 

소스 코드

- https://github.com/moomini/algorithm/blob/master/boj/1377.cpp

#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
 
int main(void) {
    cin.tie(0); ios_base::sync_with_stdio(false);
    int n; cin >> n;
    vector<pair<intint>> a(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i].first;
        a[i].second = i;
    }
    sort(a.begin(), a.end());
    int ans = -1;
    for (int i = 0; i < n; ++i) {
        if (ans < (a[i].second - i)) ans = a[i].second - i;
    }
    cout << ans + 1 << "\n";
    return 0;
}
cs

'Algorithm > Problem Solving' 카테고리의 다른 글

[BOJ/11004] K번째 수  (0) 2020.06.02
[BOJ/11652] 카드  (0) 2020.06.01
[BOJ/10989] 수 정렬하기 3  (0) 2020.05.26
[BOJ/10825] 국영수  (0) 2020.05.24
[BOJ/10814] 나이순 정렬  (0) 2020.05.22
posted by DevMoomin
: