정렬5 [Swift][프로그래머스][정렬] H-Index 요구능력 정렬 활용 문제풀이 나는 처음에 citations에 있는 인용수가 h-Index에 들어가는건줄 알고 꽤나 오랜시간 삽질을 했다. 문제를 잘 이해하면 h-Index는 최대 citations의 개수만큼 나온다. 문제에서 논문 n편 중 h번이상 인용된 논문이 h편 이상이고, 나머지가 h번 이하 인용되었다면 h의 최대값이 h-Index라고한다. 바로 예제로 설명을 해보자. [3, 0, 6, 1, 5]가 있다. h가 1인경우를 살펴보자. H-Index가 1이면 논문 5편중 1번이상 인용된 논문이 1편 이상이고, 나머지가 1번 이하 인용되는가? 1번이상 인용된 논문 [3, 6, 1, 5]이 있고 나머지[0]은 1번이하 이므로 인용된다. h가 2인경우를 살펴보자. H-Index가 2이면 논문 5편중 2번이상.. 2022. 4. 13. [Swift][프로그래머스][정렬] 가장 큰 수 요구능력 정렬과 문자열에 대한 이해 문제풀이 Swift의 경우 sort()함수를 제공한다. sort()함수는 Timsort라는 정렬 알고리즘으로 이루어져있는데, Timsort는 insertionSort와 mergeSort가 합쳐진것이라고 한다. swift에서 알고리즘문제를 풀면서 거의 유일(?)하게 빠르고 좋은함수인것같다. 최악의 경우에도 O(nlogn)의 성능을 뽑아낸다. 이 문제는 이미 문제에 풀이법을 적어놨다. 문자열로 처리해서 리턴해라... 그렇다. 정렬할때도 문자열로 처리해서 더 큰 경우의 수를 맨앞에 놓는 내림차순을 하면 되는것이었다. 쉽게 설명하자면 [6, 10, 2]가 있으면 "\(6)" + "\(10)" 과 "\(10)" + "\(6)" 중 크게나오는 경우로 내림차순을 하라는 말이다. 그.. 2022. 4. 13. [Swift][프로그래머스][정렬] K번째수 요구능력 정렬 문제풀이 간단하게 하기 위해서 i와 j 그리고 k를 배열 인덱스에 맞추기위해서 1씩 빼주었다. 그리고 인덱스 슬라이싱을 통해 i번째...j번째 배열을 추출해서 arr에 넣어주었고 arr을 정렬하고 k번째 있는것을 result배열에 넣어주었다. 후기 간단한 정렬문제이다. 코드 func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var result = [Int]() for v in 0.. 2022. 4. 13. [Swift][DFS] 백준 16964번 (DFS 스페셜 저지) 요구능력 DFS와 정렬 문제풀이 https://sapjilkingios.tistory.com/entry/SwiftBFS-%EB%B0%B1%EC%A4%80-16940%EB%B2%88-BFS-%EC%8A%A4%ED%8E%98%EC%85%9C-%EC%A0%80%EC%A7%80 [Swift][BFS] 백준 16940번 (BFS 스페셜 저지) 요구능력 BFS와 정렬 문제설명 일반적인 BFS문제에 주어진 방문순서대로 방문이 가능한지를 판별하는 문제이다. 간선정보가 주어진다면 인접리스트를 고려해봐야한다. 그래서 인접리스트를 구 sapjilkingios.tistory.com 위의 BFS스페셜저지와 동일한 문제입니다. 바뀌는점은 BFS -> DFS인것 밖에 없습니다. 어려운것없이 1번노드를 먼저방문하도록 dfs(1)로 .. 2022. 3. 26. 이전 1 2 다음