본문 바로가기

정렬10

백준 #1083 소트(정렬) 이번 문제는 버블 정렬을 잘 이해하고 있다면, 쉽게 풀 수 있는 문제입니다. 난이도가 Gold IV이긴 하지만 더 낮아져도 상관 없을 문제라고 봅니다. 정답비율은 30.5% 정도로 높지가 않습니다. 정답자 184명. https://www.acmicpc.net/problem/1083 1083번: 소트 크기가 N인 배열 A가 있다. 배열에 있는 모든 수는 서로 다르다. 이 배열을 소트할 때, 연속된 두 개의 원소만 교환할 수 있다. 그리고, 교환은 많아봐야 S번 할 수 있다. 이때, 소트한 결과가 사전순으로 가장 뒷서는 것을 출력한다. www.acmicpc.net 버블 정렬은 이해하기 아주 쉬운 정렬이고, 구현도 쉽게 할 수 있죠. 버블정렬은 이웃한 것끼리 위치를 바꾼다는 개념입니다. 키 순으로 줄을 설 때.. 2019. 12. 31.
[C/C++] 백준 #1026 보물 이번 문제는 문제가 의도하는 뜻만 잘 이해하면 풀 수 있는 문제입니다.  그래서인지 정답자가 상당히 높습니다.  오늘 날짜의 정답자가 8,888명, 정답률 61.5%입니다.  숫자가 8이 연속 4개라서 캡처를 해두었습니다. 문제는 두개의 수열 A[*], B[*]이 주어졌을 때, 적절하게 A[*] 수열을 재배치 해서 다음의 식을 최소화하도록 하는 것입니다. kA[k]B[k] 문제에서는 B[*] 배열은 재배열하면 안된다고 합니다.  (함정입니다.) 문제는 아래 링크에 있습니다.https://www.acmicpc.net/problem/1026 1026번: 보물첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서.. 2019. 12. 25.
[C/C++] 백준 #1015 수열 정렬 이번 문제는 정렬 문제입니다.  정렬은 알고리즘에서 가장 기초로 배우고 있지만, 속속들이 다 배우지는 않고 있습니다.일반적으로 기본정렬에 속하는 선택정렬, 삽입정렬, 버블정렬과 고급정렬에 속하는 병합정렬, 퀵정렬, 힙정렬들을 배우고 있지만, 성능과 관련된 항목을 주로 가르치죠. 정렬에는 또 한가지 고려사항이 있는데, 입력된 데이터의 순서를 지켜주느냐 아니냐도 있습니다.  동일한 데이터가 있는 경우 순서를 지켜주는 정렬과 아닌 정렬이 있다는 것이죠.  사실 실제 프로그램 작성할 때에는 거의 무시할 수 있는 내용입니다만, C++ 기본 라이브러리에 stable sort가 있는 것으로 보아서 필요성은 있을거라고 봅니다. 문제는 다음 링크와 같습니다.https://www.acmicpc.net/problem/101.. 2019. 12. 23.
[C/C++] 프로젝트 오일러 #22 : 이름 점수 구하기 이 문제에서는 주어진 텍스트 파일에 포함된 이름들의 점수 합계를 계산하는 것을 요구합니다. 문제를 해결하기 위한 단계는 다음과 같습니다:1. 입력 파일 읽기: 파일에서 각각의 이름이 큰따옴표로 묶여 있는 쉼표로 구분된 단일 행 데이터를 읽습니다.2. 이름을 알파벳 순으로 정렬: 이름 리스트를 알파벳 오름차순으로 정렬합니다.3. 이름 점수 계산:• 각 이름의 점수를 계산합니다. 이름의 점수는 이름을 구성하는 각 글자의 알파벳 값을 더하여 구합니다 (A=1, B=2, …, Z=26).• 해당 이름 점수에 정렬된 순서(1부터 시작하는 인덱스)를 곱합니다.4. 전체 점수 계산: 모든 이름 점수를 합산하여 최종 결과를 구합니다.예를 들어, 파일에 "COLIN", "ALEX", "BOB"가 포함되어 있다면, 정렬된.. 2015. 1. 25.
728x90