본문 바로가기

전체 글202

1158번: 요세푸스 문제 - 문제 사이트: https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 주어진 큐의 원소들을 K - 1번 회전시킨 뒤 맨 앞의 원소 (== K번째 원소)를 출력 및 제거하는 것을 마지막까지 반복해주는 문제이다. 1) 큐에 1부터 N까지 수를 저장 2) K - 1번 회전 (맨 앞의 원소를 맨 뒤에 저장 후 맨 앞의 원소 제거) 3) K번째 수 출력 후 제거 4) 큐에 남아있는 원소가 없을 때까지 반복 #include #include using namespace std; int main() { ios_base::sync_with_stdio(fa.. 2023. 9. 10.
1920번: 수 찾기 - 문제 사이트: https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net N개의 정수가 주어졌을 때, 원하는 숫자가 있는지 찾는 문제이다. map 내에 N개의 수를 입력 받은 후 find 함수를 이용해 원하는 값의 존재 여부를 검색하도록 하였다. #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(fa.. 2023. 9. 9.
10866번: 덱 - 문제 사이트: https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 자료 구조 덱(Deque) 사용하는 법을 익히는 문제이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출.. 2023. 9. 8.
5543번: 상근날드 - 문제 사이트: https://www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가격 www.acmicpc.net 3종류의 햄버거와 2종류의 음료가 주어졌을 때, 각각 가장 싼 햄버거와 가장 싼 음료를 선택하여 세트를 만드는 문제이다. 1) 햄버거와 음료의 초기값은 가장 큰 값인 2000원으로 설정 2) 햄버거 3종류 값을 받고 가장 작은 값을 선택 3) 음료 2종류 값을 받고 가장 작은 값을 선택 4) 세트 계산: 햄버거 + 음료 - 50 #include using namespace std; i.. 2023. 9. 7.
2559번: 수열 - 문제 사이트: https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net "11659번: 구간 합 구하기 4"의 확장된 문제이다. 이전 문제가 i 부터 j까지 구간합의 값을 구하는 문제였다면, 이번에는 구간 너비가 주어진 문제이다. 0번부터 i번까지의 누적값을 구한 배열을 이용하여 풀어주도록 한다. 1) max 값은 나올 수 있는 가장 작은 값으로 설정: max = (가장 작은 수) * (구간 너비) = -100 * K 2) 구간합을 구하.. 2023. 9. 6.