BOJ 1517번 버블소트 문제 자바(java) 풀이 랭크 : 골드3 백준 1517번 버블소트 문제 정리 N개의 수로 이루어진 수열이 있다. 이 수열에 대해 버블 소트를 수행할때 swap이 몇 번 일어나는지 계산하여라. N은 최대 500,000 각각의 수는 최대 10억 문제 접근 N이 최대 500,000이므로 단순한 버블 정렬대로 하면서 계산하면 N2으로 시간초과가 날 것입니다. 최소 nlogn 정도의 알고리즘을 구현해야 합니다. O(n)이라 생각한 알고리즘 1.1 list에 모든 값을 다 넣고 최대값을 구해 최대값의 위치를 구합니다. 1.2 그 값의 위치를 찾고 list의 맨 뒤 인덱스에서 값으 위치를 빼줍니다.(예를 들어 최대값의 위치 1, 맨 뒤 인덱스 5 -> 5-1=4) 이 값이 뒤로 보내기 위..
[BOJ] 백준 1517번 버블 소트 자바 ( 병합 정렬(merge sort) 이용하기 )
BOJ 1517번 버블소트 문제 자바(java) 풀이 랭크 : 골드3 백준 1517번 버블소트 문제 정리 N개의 수로 이루어진 수열이 있다. 이 수열에 대해 버블 소트를 수행할때 swap이 몇 번 일어나는지 계산하여라. N은 최대 500,000 각각의 수는 최대 10억 문제 접근 N이 최대 500,000이므로 단순한 버블 정렬대로 하면서 계산하면 N2으로 시간초과가 날 것입니다. 최소 nlogn 정도의 알고리즘을 구현해야 합니다. O(n)이라 생각한 알고리즘 1.1 list에 모든 값을 다 넣고 최대값을 구해 최대값의 위치를 구합니다. 1.2 그 값의 위치를 찾고 list의 맨 뒤 인덱스에서 값으 위치를 빼줍니다.(예를 들어 최대값의 위치 1, 맨 뒤 인덱스 5 -> 5-1=4) 이 값이 뒤로 보내기 위..
2020.03.14