본문 바로가기
반응형

정렬3

[프로그래머스] 정렬 - H-Index(파이썬 문제 풀이) 문제 링크 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 프로그래머스 고득점 Kit 정렬의 마지막 문제 H-Index 입니다. 문제에 주어진 조건대로 우선 구현을 하고 효율성을 높여보려고 했는데, 구현하고 제출하니 통과가 되어버렸네요..! 저는 아래와 같은 방법으로 구현했습니다. 1. 인용된 논문 수의 최대값 만큼 리스트를 하나 만든다. 2. 1부터 인용된 논문 수의 최대값까지 반복문을 돌며 1이상 논문은 몇개, 2이상 논문은 몇개, 3이상 ... 을 반복한다. 3. 각 인덱.. 2021. 3. 18.
[프로그래머스] 정렬 - 가장 큰 수(파이썬 문제 풀이) 문제 링크 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 주어진 정수를 이어 붙여 가장 큰 수를 만들어내는 문제입니다. Level2 치고는 체감 난이도가 꽤 높았던 문제인 것 같습니다! 우선 입력 데이터인 numbers의 최대 길이가 100,000인 것으로 보아 상태 트리를 이용한 모든 경우의 수를 조합하는 방법은 아니라고 생각했습니다. 1. 파이썬에서 문자형으로 된 숫자를 비교할 때 자릿수에 상관없이 앞자리가 큰 수가 큰 것이다는 점을 활용해.. 2021. 3. 18.
[프로그래머스] 정렬 - K번째 수(파이썬 문제 풀이) 문제 링크 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 주어진 범위를 정렬한 뒤 K번째 수를 출력하는 문제입니다. 파이썬의 내장 함수를 사용해도 되지만 복습 차원에서 퀵 정렬을 사용해 문제를 풀이해 보았습니다 퀵 정렬을 구현하는 함수를 만들고, 입력받은 커맨드에 따라 원본 배열에서 범위를 추출하여 퀵 정렬 함수에 전달하고 정렬된 배열에서 k번 째(k-1) 데이터를 출력하도록 구성했습니다. 문제 풀이(파이썬) def Qsort(s, e): if s < e: pivot = tmp[e] pos = s for i in range(s, e): if tmp[i] < pivot: tm.. 2021. 3. 17.
반응형