본문 바로가기

Algorithm/Sorting

(28)
(C++) - 백준(BOJ) 1926번 : 수 정렬하기 5 www.acmicpc.net/problem/15688 15688번: 수 정렬하기 5 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이며, 같은 수가 여러 번 중복될 수도 있다. www.acmicpc.net counting sort를 사용하는 문제였습니다. 풀이방법 1. 입력받은 수를 세줍니다. x라는 수의 개수는 num이라는 배열의 x번째 index의 값이 됩니다. *음수 입력이 들어올 수 있으니 index를 100만만큼 더한 후 해당 index 값을 1씩 증가하도록 합니다. 이런식으로 입력이 들어왔다고 가정했을 때 배열의 index로는 음수를 표현할 수 없으므로 오른쪽으로 100..
(C++) - 프로그래머스(연습문제) : 문자열 내 마음대로 정렬하기 programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 정렬 구현 문제였습니다. 풀이방법 1. 매 solution함수 호출마다 n을 갱신해줍니다. 2. cmp함수를 이용해 stl sort함수의 세 번째 인자를 cmp함수 내에 정해진 기준으로 정렬여부를 판별하도록 합니다. 사전순 (오름차순)으로 정렬되어야 함을 유의하며 작성합니다. Code #include usin..
(C++) - 백준(BOJ) 1015번 : 수열 정렬 답 www.acmicpc.net/problem/1015 1015번: 수열 정렬 P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주 www.acmicpc.net stl sort를 이용해 푼 brute force문제였습니다. 풀이방법 1. 입력받은 수를 오름차순으로 정렬합니다. 2. 정렬한 후 각 수가 어디로 이동했는지 원래 배열과 정렬된 후의 배열을 비교해 찾았다면 해당 index를 넣어줍니다. 이 때 같은 수가 계속해서 있을 수 있으므로 해당 index를 check했다는 의미로 1로 만들어주어 같은 index를 정..
(C++) - 프로그래머스(고득점 kit - 정렬) : H-index 답 programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 모든 경우를 탐색하는 brute force로 풀었습니다. 풀이방법 논문의 수는 최대 1000까지이므로 h-index는 1000까지가 최대입니다. 1000까지 h-index를 증가시키며 가장 큰 h-index를 찾아주시면 됩니다. Code #include #include using namespace std; int solution(vector c..