![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bErSJH/btsdi1MhLHA/OuBzjPDelHC5ujL0vNjV90/img.png)
알고리즘 분류: 구현, 문자열 문제 링크: https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 【 풀이 】 문자열을 입력받고 입력받은 대로 출력하면 되는 문제이다. 개행까지 포함한 문자열을 한 번에 출력해도 되지만 문제에서 그러한 조건은 없으므로 단순하게 한줄씩 입력받고 한 줄씩 출력하면 된다. string 클래스와 getline을 이용하여 공백을 포함하여 입력받고 그대로 출력한 다음 비어있는 문자열을 받게 되면(개행만 하게 되면..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/IS2Uo/btsc99Ymlby/F9TBqrGuRsyPu4No9so1b1/img.png)
알고리즘 분류: 문자열, 정렬 문제 링크: https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 【 풀이 】 한 수를 입력받고 각 자릿수의 수를 내림차순으로 정렬하여 출력하는 문제이다. 수를 입력받은 다음 10으로 나누어가며 나머지를 벡터에 저장하고 greater() 임시객체를 불러 내림차순으로 정렬하여 순서대로 출력하면 된다. 또한 배열을 정렬하고 반대로 출력하는 것도 방법이 되겠다. 【 코드 】 #include #include #include using namespace std; vectorv; int main(void) { int..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Nmhub/btscSoib4ll/VvCLvwEjKf5NKdcnymVqXK/img.png)
알고리즘 분류: 자료 구조, 스택 문제 링크: https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 【 풀이 】 입력으로 받은 수열을 스택을 활용하여 순서대로 구현할 수 있는지를 물어보는 문제이다. 증가하는 변수 cnt를 선언해 주고, 입력한 숫자 n과 같아질 때까지 증가시키고 스택에 저장. 그 후 '+' 기호를 벡터에 저장한다. 그리고 스택의 맨 나중에 들어온 값과 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/mSjWv/btscKllsEzQ/l7Rqdk8eBFs7ashI2Tklx0/img.png)
알고리즘 분류: 수학, 다이나믹 프로그래밍, 그리디 알고리즘 문제 링크: https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 【 문제 】 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zAnQw/btscHex93Yo/HMnpAUUEclsSBDO7gShlAk/img.png)
알고리즘 분류: 구현, 자료 구조, 시뮬레이션, 큐 문제 링크: https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 【 풀이 】 주어진 테스트 케이스에서 특정 문서의 중요도가 몇 번째로 큰지 구하는 문제이다. 이 문제는 큐와 우선순위 큐, 그리고 pair를 사용하여 쉽게 해결할 수 있다. 다음은 이 문제의 단계적 접근방법이다. pair에 각각 { 인덱스, 중요도 } 순으로 큐에 저장 우선순위 큐를 구현하여 큐의 첫값과 우선순위 큐의 첫값을 비교 큐 원..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b7kbCp/btscmLcLO5h/WZF4K9vY6GwUJyFICCct3K/img.png)
알고리즘 분류: 구현, 문자열, 해싱 문제 링크: https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 【 풀이 】 문자열을 입력받아 해시값을 계산하는 문제이다. 이 문제는 한마디로, 문자열 각 인덱스의 문자값에 고유 계수를 거듭제곱한 값을 곱하여 그 수들을 더한 해시값을 구하라는 것이다. 그러기 위해서 먼저 m을 1234567891로, 각 계수에 곱할 r을 1로 선언한다. 그러고 아스키 코드 값을 이용해 문자열 각 인덱스의 값을 구하여 계산하면 ..