본문 바로가기

Algorithm/정렬4

[백준] 24060번 알고리즘 수업 - 병합 정렬 1 사용 언어 - Python3 백준 24060번: 알고리즘 수업 - 병합 정렬 1 (실버4, 정렬) 문제 ★병합 정렬 문제★ 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 정답 병합 정렬(분할 정복 알고리즘) 문제 (코드 풀이) 병합 정렬 의사 코드에서 추가되는 포인트 정리 0. merge_sort(), merge() 굳이 분리할 필요 없음 1. len(L)이 1이라면 정렬할 게 없으므로 return L 2. mid = ((len(L)+1)//2 45 132가 아.. 2023. 1. 31.
[프로그래머스 lv 2] H-Index 사용 언어 - Python3 문제 - H-Index 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 인덱스와 값 비교 정렬 문제 (정답 맞춘 여부 X) 내 정답은 테스트11,16에서 실패가 나왔다.. 근데 그 이유를 못찾았다.ㅠㅠ def solution(citations): for i in range(max(citations)): # i 인용 횟수 answer = 0 for c in citations: if c >= i: # 해당 논문이 인용 횟수 이상인 경우 answer += 1 # 논문 개수 세기 if answer == i: #3편의 논문이 3회 .. 2023. 1. 27.
[프로그래머스 lv 2] 가장 큰 수 사용 언어 - Python3 문제 - 가장 큰 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 ASCII 문자열 숫자간 크기 비교 정렬 문제 (정답 맞춘 여부 X) 정답 풀이 1. numbers를 str로 바꾼뒤, list 형태로 입력받는다. 2. 6, 10, 2의 크기를 비교한다. 원래 숫자에서 비교하면 10>6>2 이지만, "1062"은 가장 큰 수가 아니다. 문자열 ASCII 값으로 비교했을 때 가장 숫자가 큰 값, 6>2>1 순서대로 해야 "6210" 가장 큰수가 나온다. x*3 각각의 문자열을 3번 반복한다. 666, 101010, 222.. 2023. 1. 27.
[프로그래머스 lv 1] K번째수 사용 언어 - Python3 문제 - K번째수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 간단한 정렬 인덱싱 문제 (정답 맞춘 여부 O) 정답 풀이 1. commands의 1,2,3번째 원소를 각각 i,j,k로 입력받았다. 2. 리스트를 sort()한후 answer 빈리스트에 append했다. def solution(array, commands): answer = [] for p in range(len(commands)): i = commands[p][0] j = commands[p][1] k = commands[p][2] array1 = arr.. 2023. 1. 27.