728x90

2026/02/12 3

[BOJ 2751] 수 정렬하기 2 - [정렬]

[BOJ 2751] 수 정렬하기 2 - [정렬]문제 링크https://www.acmicpc.net/problem/2751문제 요약$N$개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.수의 개수 $N$은 최대 1,000,000개이며, 각 수는 중복되지 않는다.접근 방법자료구조: std::vector (동적 배열)알고리즘: $O(N \log N)$의 성능을 보장하는 정렬 알고리즘 (std::sort)핵심 아이디어:데이터가 100만 개이므로 $O(N^2)$ 알고리즘(버블, 선택, 삽입 정렬)은 시간 초과가 발생한다.C++의 std::sort는 최악의 경우에도 $O(N \log N)$을 보장하는 Intro Sort를 사용하여 이 문제에 적합하다.대량의 데이터를 출력해야 하므로 endl ..

코딩테스트 2026.02.12

[BOJ 10989] 수 정렬하기 3 - [정렬]

[BOJ 10989] 수 정렬하기 3 - [정렬]문제 링크https://www.acmicpc.net/problem/10989문제 요약최대 10,000,000개의 수가 주어질 때, 메모리 제한 8MB 내에서 이를 오름차순으로 정렬하여 출력하는 문제 (입력되는 수는 10,000 이하의 자연수).접근 방법자료구조: 빈도수를 저장할 고정 크기 배열 (int count[10001])알고리즘: 계수 정렬 (Counting Sort)핵심 아이디어: - 메모리 제한이 8MB로 매우 작아 1,000만 개의 숫자를 모두 배열에 저장할 수 없음 ($10^7 \times 4$ bytes $\approx 40$ MB).입력되는 수의 범위가 10,000 이하라는 점을 이용해 각 숫자의 등장 횟수만 기록하여 출력함.풀이 코드#in..

코딩테스트 2026.02.12

[BOJ 1427] 소트인사이드 - [정렬 / 문자열]

[BOJ 1427] 소트인사이드 - [정렬 / 문자열]문제 링크https://www.acmicpc.net/problem/1427문제 요약주어진 자연수 $N$의 각 자릿수를 내림차순으로 정렬하여 출력하는 문제입니다.접근 방법자료구조: std::string (문자열)알고리즘: 정렬 (Sorting)핵심 아이디어: - 입력값 $N$이 최대 10억이므로 각 자릿수를 분리하기 위해 string으로 입력받습니다.문자열의 각 문자는 결국 하나의 숫자를 의미하므로, algorithm 헤더의 sort 함수를 이용해 문자 단위로 정렬합니다.내림차순 정렬을 위해 greater() 비교 함수를 사용합니다.풀이 코드#include #include #include using namespace std;int main() { ..

코딩테스트 2026.02.12
728x90