일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 병합 정렬
- react
- CSS
- JavaScript
- 해시
- JS
- hash
- 알고리즘
- Node
- 코테
- 리액트
- useState
- 정렬
- 브루트포스
- 완전탐색
- 자료구조
- 백준
- 코딩테스트
- 자바스크립트
- 합병 정렬
- sort
- 정규표현식
- 연결리스트
- 최소공배수
- 딥다이브
- state
- BOJ
- 기술면접
- node.js
- 프로그래머스
- Today
- Total
목록병합 정렬 (5)
가치투자자
백준 11004번 : K번째 수 🔗 문제 링크 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 💬 문제 정렬 알고리즘 에 대한 이해가 있다면, 충분히 이해할 수 있는 문제다. 다만, 시간 초과와 메모리 초과 때문에 조금 어렵게 다가올 수 있다. 첫 번째 줄에 정수 개수 N과 인덱스번호 K가 주어지고, 두 번째 줄에 공백으로 N개의 정수가 주어진다. N개의 정수를 오름차순으로 정렬했을 때, K번째 수를 출력해준다. 💡 입력값 받아오기 JavaScript로 풀 경우, 입력값(input)을 어떻게 받아..
백준 1427번 : 소트인사이드 🔗 문제 링크 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 💬 문제 정렬 알고리즘 에 대한 이해가 있다면, 충분히 풀 수 있는 문제다. 1번째 줄에 정수 N이 주어진다. 이 정수의 각 자리수를 내림차순으로 정렬한다. 💡 입력값 받아오기 JavaScript로 풀 경우, 입력값(input)을 어떻게 받아와야 할 지가 중요하다. 이 문제에서는 1번째 줄에 정수 N만 주어진다. 정수 N을 받아오기만 하면 된다. 입력값을 받아오는 것과 관련해 더 자세한 내용은 아래 링크를 참고 바란다. https://v..
백준 2751번 : 수 정렬하기2 🔗 문제 링크 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 💬 문제 정렬 알고리즘 에 대한 이해가 있다면, 충분히 풀 수 있는 문제다. 1번째 줄에 정렬해야 하는 수의 개수 N이 주어진다. 2번째 줄부터 총 N개의 수가 주어지며, 이를 배열 arr로 받아준다. 배열 arr를 오름차순으로 정렬하여 출력해준다. 💡 입력값 받아오기 JavaScript로 풀 경우, 입력값(input)을 어떻게 받아와야 ..
백준 24060번 : 병합 정렬1 🔗 문제 링크 https://www.acmicpc.net/problem/24060 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 🎯 풀이를 위한 개념 설명 병합 정렬에 대한 이해가 있어야 풀 수 있는 문제이다. 쉽게 설명을 하자면, 병합 정렬은 입력된 배열을 크기가 1인 부분 배열로 쪼갠 다음, 각 부분 배열의 인덱스 0번째 값을 비교하여 작은 값부터 빈 배열에 넣어 정렬하는 알고리즘이다. 병합 정렬에 대해 더 자세한 설명은 아..
병합 정렬 (merge sort) 1. 병합 정렬이란? 병합 정렬(merge sort)은 어떤 문제를 2개의 작은 문제로 분리해 각각 해결한 다음, 이걸 모아서 원래 문제를 해결하는 분할 정복 알고리즘 중 하나다. 병합 정렬 알고리즘은 다음 개념들을 바탕으로 진행된다. 분할(Divide) : 입력된 배열을 같은 크기의 부분 배열 2개로 분할한다. 정복(Conquer) : 부분 배열의 크기가 충분히 작지 않으면(리스트의 길이가 0 또는 1이 아니면) 다시 분할을 한다. 결합 (Combine) : 정렬된 부분 배열들을 하나의 배열에 병합한다. 병합 정렬은 다음 단계들로 진행된다. 부분 배열의 요소들을 결합할 빈 배열이 필요하다. 부분 배열의 크기(length)가 1이 될 때까지 쪼개준다. 부분 배열의 0번째..