답
split과 join을 이용StringBuilder의 reverse를 이용
가장 작은 것을 선택해서 앞으로 보냄배열의 길이가 10일 경우10 + 9 + 8 + ... + 1N\*(N+1)/2 -> O(N^2)즉 만개의 데이터라면 대략 1억번의 연산을 한다.구현이 간단하나 비효율적인 알고리즘이라 할 수 있다.
옆에 있는 값과 비교하여 더 작은 값을 반복적으로 앞으로 보내는 정렬구현은 정렬 중 가장 쉽지만 가장 비효율적인 알고리즘선택정렬과 동일한 시간복잡도 O(N^2) 이다.
각 숫자를 적절한 위치에 삽입시간복잡도 O(N^2)을 가진다는 점에서 비효율적인 알고리즘에 속함.필요할 때만 위치를 바꾸게 된다.O(N^2)의 시간복잡도를 가지는 정렬 중에서는 가장 강력한 알고리즘
자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램에라토스테네스 체를 이용하면 빠르게 구할 수 있다.2, 3, 5, 7의 배수를 지워서 소수만 남기는 방법?
오랜만에 포스팅이다. 오늘은 비트연산을 이용해서 재귀의 방문처리를 해보았다.사실 전혀 모르던 개념은 아니지만... 실제로 적용할려는 생각을 해본적이 없ㄴ는 것 같다. 굳이? 라는 생각이 컸다. 언제까지 피할 수는 없으니... 지금이라도 정리해놓고 조금씩 숙련도를 높혀가
ref : https://codingnojam.tistory.com/66
최단경로 간선의 가중치가 있는 그래프에서 두 정점 사이의 경로들 중에 간선의 가중치의 합이 최소인 경로 다익스트라(dijkstra) 음의 가중치가 없을때 사용 가능 시작 정점에서 다른 모든 정점으로의 최단 경로를 구하는 알고리즘 시작 정점에서의 거리가 최소인 정점을 선택해 나가면서 최단 경로를 구하는 방식 탐욕 기법을 사용한 알고리즘으로 MST 프림과 유사...
프로그래머스 고득점 kit 풀이 중Map에 대한 foreach문 사용 사용 및 Comparable 구현 메모음수 : 현재 객체(this)가 비교 대상 객체보다 작을 때.0 : 현재 객체와 비교 대상 객체가 같을 때.양수 : 현재 객체가 비교 대상 객체보다 클 때.