본문 바로가기

Algorithm/Sorting

(28)
(C++) - LeetCode (easy) 976. Largest Perimeter Triangle https://leetcode.com/problems/largest-perimeter-triangle/ Largest Perimeter Triangle - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 간단 구현 문제였습니다. 📕 풀이방법 📔 풀이과정 10^4개가 nums의 최대 크기이므로 세 변을 결정하도록 모든 원소를 확인하는 brute force나 두 변을 고정하고 두 번째 큰 값의 lower_bound를 구하는 이분 탐색으로는 시간초과가 나게 됩니다. 따..
(C++) - 백준(BOJ) 14592 : 2017 아주대학교 프로그래밍 경시대회 (Small) https://www.acmicpc.net/problem/14592 14592번: 2017 아주대학교 프로그래밍 경시대회 (Small) 아주대학교 프로그래밍 경시대회(Ajou Programming Contest, APC)는 2009년 제1회를 시작으로 2014년 제6회까지 개최된 아주대학교 학생들을 위한 프로그래밍 경시대회이다. 2017년, 다른 학교에서 활발히 www.acmicpc.net 간단 정렬 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 참가자수 n, 참가자의 대회 정보를 입력받을 vector v를 선언 후 적절히 입력받습니다. 📔 풀이과정 산출 기준대로 정렬해줍니다. 📔 정답출력 1등 참가자의 번호를 출력합니다. 📕 Code #include using namespace std; struct I..
(C++) - 백준(BOJ) 17176 : 암호해독기 https://www.acmicpc.net/problem/17176 17176번: 암호해독기 방금 도착한 암호문을 해독했는데, 해독에 오류가 없는지 확인해보려 한다. 해독한 문장이 암호문을 해석한 결과로 나올 수 없다면, 그 해독은 잘못된 것이다. 암호문은 0 이상 52 이하의 정수로 www.acmicpc.net 구현 후 정렬비교로 푼 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 복호화된 문자열을 저장할 decodedCryptogram, 평문 origin, 암호를 저장할 배열 cryptogramVector를 선언한 후 적절히 입력받습니다. 📔 풀이과정 1. 아스키 코드표를 참조해 cryptogramVector에서 하나씩 원소를 확인한 후 복호화해 decodedCryptogram에 저장합니다.2. 암호문..
(C++) - 백준(BOJ) 14729 : 칠무해 https://www.acmicpc.net/problem/14729 14729번: 칠무해 조(Joe)는 중앙대학교 교수이고, 논리회로 설계 과목을 담당하고 있다. 그는 수업을 하면서 7명의 학생을 제외한 나머지 학생들에게 좋은 학점을 주겠다고 약속을 하였다. Joe 교수님을 돕기 위해 www.acmicpc.net 정렬문제였습니다. 📕 풀이방법 📔 입력 및 초기화 n, 학생의 점수 * 1000을 저장할 일차원 배열 counting, cnt를 선언해줍니다. 이후 학생의 점수를 double형으로 입력받은 후 해당 값의 * 1000을 index로해 저장합니다. type casting에 유의해 저장합니다. 📔 풀이과정 1. 시간제한이 1초인 경우 n의 크기가 1천만이므로 counting sort를 사용해야 시간초..
(C++) - 백준(BOJ) 16212 : 정열적인 정렬 https://www.acmicpc.net/problem/16212 16212번: 정열적인 정렬 형준이는 수열을 하나 가지고 있다. 형준이는 수열을 정열적으로 정렬해보려 한다. 과연, 정렬할 수 있을까? www.acmicpc.net stl sort함수를 사용해보는 정렬 문제였습니다. 📕 풀이방법 https://www.cplusplus.com/reference/algorithm/sort/ sort - C++ Reference custom (2)template void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp); www.cplusplus.com stl sort함수의 시간복잡도는 nlog(n)입니다. 시간복잡도가 이를 ..
(C++) - 백준(BOJ) 13580 : Andando no tempo https://www.acmicpc.net/problem/13580 13580번: Andando no tempo Imagine que você tenha uma máquina do tempo que pode ser usada no máximo três vezes, e a cada uso da máquina você pode escolher voltar para o passado ou ir para o futuro. A máquina possui três créditos fixos; cada crédito representa uma certa qua www.acmicpc.net 정렬 후 if문을 사용해보는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 세 credit을 입력할 일차원 배열 a를 선언 후 입..
(C++) - 백준(BOJ) 20976 : 2 番目に大きい整数 (The Second Largest Integer) https://www.acmicpc.net/problem/20976 20976번: 2 番目に大きい整数 (The Second Largest Integer) 3 つの整数 A, B, C が与えられる.これらのうち 2 番目に大きい数を出力せよ. www.acmicpc.net 정렬 후 두 번째로 큰 수를 출력하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 세 개의 정수를 입력받을 일차원 변수 a를 선언 후 입력해줍니다. 📔 풀이과정 sort함수를 사용해 a의 원소를 오름차순으로 정렬합니다. 📔 정답출력 a[1]를 출력합니다. 📕 Code #include using namespace std; int a[3]; int main(){ for(int i = 0; i > a[i]; sort(a, ..
(C++) - 백준(BOJ) 18411 : 試験 (Exam) https://www.acmicpc.net/problem/18411 18411번: 試験 (Exam) JOI 君は情報の試験を 3 回受けた.試験の点数はすべて 0 以上 100 以下の整数である. JOI 君の成績は 3 回の試験の点数のうち高い方から 2 つを足し合わせた合計によって決まる. 3 回 www.acmicpc.net 정렬 STL 함수를 사용해보는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 세 시험의 점수를 입력받을 일차원 배열 a를 선언 후, 세 시험의 점수를 입력합니다. 📔 풀이과정 1. 배열 a를 sort함수를 이용해 오름차순으로 정렬합니다. 2. 두 높은 점수 a[1], a[2]에 존재합니다. 📔 정답출력 a[1] + a[2]를 출력합니다. 📕 Code #include using namespace st..