no image
백준 1158번, 11866번 요세푸스 문제 [C/C++]
1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 요세푸스 순열 n명이 동그랗게 모여있을 때 임의의 한 명부터 순서를 세어 k번째 사람을 모임에서 제외한다. 남은 n-1명에서 다시 다음 사람부터 순서를 세서 k번째 사람을 모임에서 제외한다. 이것을 아무도 남지 않을 때까지 계속해서 반복한다. 예를 들어 문제 입력에 10, 7이 주어지면 처럼 답이 나온다. 이것을 이해를 돕기위해 적어보았는데 오히려 직관성이 조금 떨어진다.. 어쨌든 요약하자면 사람의 수가 총 5명이 남았는데 7번째 사람을 죽여야 하는 경우라면 위 그림처럼 이루어진다. 풀이코드 코드1 #define _CRT_SECURE_NO_WARNING..
2021.01.23
백준 2164번 카드2 [C/C++]
2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 코드 #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int main() { int n; long long value = 1; int figure = 1; //자릿수 int temp; scanf("%d", &n); for (int i = 2; i < n+1; i++) { value *= 10; value += i; figure *= 10; } //맨 앞의 숫자를 버리고..
2021.01.19
no image
백준 1966번 프린터 큐 [C/C++]
1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 우선순위 큐까지는 사용할 생각을 했는데, pair를 사용해 값과 인덱스를 담는 것을 생각못해서 시간이 많이 걸린 아쉬운 문제였다. 중요 포인트 요약 문제 Queue의 가장 앞에 있는 문서의 '중요도'를 확인 Queue다른 곳에 하나라도 '중요도'가 더 높은 것이 있다면 현재 가장 앞에 있는 문서를 Queue의 맨뒤로 보낸다. 가장 앞에 있는 문서의 '중요도'가 가장 높으면 바로 출력. 입력 총 테스트 케이스의 개수 테스트 케이스 첫째줄 2.1 문서의 개수 2.2 언..
2021.01.19
no image
백준 10828번 스택 C/C++
10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 � www.acmicpc.net 라이브러리를 사용한 코드 #include #include #include using namespace std; int main() { int n, value; string oper; stack stk; cin >> n; for (int i = 0; i > oper; if (oper == "push") { cin >> value; stk.push(value); } else if (oper == "pop") { if..
2020.09.14