본문 바로가기
반응형

Programming Solve/BOJ60

BOJ 1920 수 찾기 / C++, 시간 초과 방지 팁 문제 링크 : 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 문제 풀이 첫 번째 배열에 두 번째 배열 값들이 존재하는지 찾는 문제이다. 이진 탐색을 사용하기 위해 첫 번째 배열들은 정렬을 해준다. 두 번째 배열들은 입력받자마자 이진 탐색을 통해 해당 값들이 첫 번째 배열에 있는지 확인한다. C++에서 시간 초과를 방지하려면 (1) ios_base::sync_with_stdio(false); ci.. 2021. 9. 1.
BOJ 1931 회의실 배정 / C++ 문제 링크 : https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 풀이 코드를 보면서 이해하는 편이 빠르다. 회의의 시작 시간과 끝나는 시간을 pair로 저장하는 vector를 만든다. 최대 배정 가능 회의를 넣는 벡터도 생성해준다. 회의들을 모두 입력받은 뒤, 가장 빨리 끝나는 작업 순으로(즉, pair의 second) 정렬을 해주기 위해 compare 함수를 만든다. 이 때, a.second와 b.second가 같다면 first도 똑같이 비교해줘야 한다. 예를 들어, 6개의 회의가 1 3 3 100 4 5 6 6 5 6 7 7 의 순서로 입력되었다면 정렬.. 2021. 8. 31.
BOJ 1436 영화감독 숌 / C++ 문제 링크 : https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 문제 풀이 문제 설명이 잘 이해가 되지 않아 다른 블로그를 통해 이해했다. 일단 종말의 숫자란 6이 최소 3개 이상 들어간 숫자이고 N 번째 영화의 제목은 종말의 숫자이면서 N번째로 작은 숫자이다. 예를 들면 666, 1666, 2666, 3666, 4666, 5666, 6660, 6661, 6662 이런식으로 진행되는데 5666 다음에 6666 이 되지 않는 이유는 6660 이 .. 2021. 8. 27.
BOJ 2810 컵홀더 / C++ 문제 링크 : https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 문제 풀이 기본적으로 별의 개수를 세면 된다. SLLS인 경우 *S*LL*S*가 되므로 사용할 수 있는 컵홀더는 4개이다. 그런데 SSS인 경우 *S*S*S*이다. 이 때, 별의 개수는 4개인데 사람이 3명이므로 컵홀더는 3개밖에 사용되지 않는다. 따라서 사용할 수 있는 컵홀더가 사람 수보다 많을 때는 사람 수를 출력해주면 된다. 소스 코드 #include using namespace std; int main(){ int n, cnt = 1; char arr[51]; cin >> .. 2021. 8. 27.
반응형