문제 출처:https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 분석 문자열을 내림차순으로 정렬하면 됩니다. c++에서 STL로 지원하는 string이라는 class는 char*로 구성되어 있습니다. 따라서 각 element들은 char 타입의 문자라고 해석해도 되며, 이는 ASCII code에 의해서 숫자처럼 크기 비교가 가능합니다. 코드는 다음과 같습니다: #include #include using namespace std ; int main(){ ios::sync_with_stdio(false) ; cin.tie(NULL) ..
문제 출처:https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 분석 해당 문제는 인풋으로 주어진 여러 좌표들을 sort하면 되는 문제입니다. bool compare(pair & a, pair & b){ if(a.first == b.first) return a.second < b.second ; return a.first < b.first ; } 직접 위와 같이 compare 함수를 제작해도..
문제 출처:https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 그저 stack을 구현하는 문제입니다. 따로 c++에서 STL로 제공해주는 함수들이 있으니 활용해봤습니다. 코드는 다음과 같습니다: #include #include using namespace std ; int main(){ ios::sync_with_stdio(false) ; cin.tie(NULL) ; cout.tie(NULL) ; stack ss ; int lin..
문제 출처:https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 문제 분석 각 점수는 연속해서 정답인 경우 연속된 횟수만큼의 점수를 받습니다. 때문에 각 퀴즈별로 O를 몇번 연속으로 맞추는지 count해주어야 합니다. loop를 돌면서 count된 값들을 더해주면 무리없이 해결할 수 있습니다. 코드는 다음과 같습니다: #include using namespace std ; int main(){ ios::sync_with_stdio..
문제 출처:https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 문제 분석 그림과 같이 ABC는 2, BCD는 3 ... 9까지 표현이 가능합니다. 알파벳이 주어질 때 숫자로 변환하고 다이얼을 걸기 위한 최소 시간을 출력하면 됩니다. 1이라는 숫자를 다이얼로 표기하기 위해서는 2초가 필요하고 숫자가 1추가될 때마다 1초가 추가되므로 2를 누르기 위해서는 3초, 3은 4초, ... 9는 10초가 걸리게 됩니다. 이 점을 생각하면서 문제를 풀면 어려움없이 해결할 수 있습니다. 코드는 다음과 같습니다: #include using names..