본문 바로가기

코테32

백준 1300번 K번째 수 C++/이진탐색/골드1 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 하나하나 값을 저장해서 출력하면 시간초과가 난다. 따라서 이진탐색을 진행해서 풀어야 한다. 도저히 모르겠어서 !! 아래 블로그의 내용을 도움받았다. https://cocoon1787.tistory.com/292 [C/C++] 백준 1300번 - K번째 수 (이분 탐색) #include #include #include using namespace std; long lo.. 2023. 10. 28.
백준 11004번 k번째 수 c++/정렬/실버5 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net arr 벡터에 값을 넣고 정렬해서 k번째 수를 출력한다. #include #include #include using namespace std; int main() { //ios_base::sync_with_stdio(false); ios_base::sync_with_stdio(0); cin.tie(0); int n, k, a; cin >> n >> k; vector arr; for (int i = 0; i > a; ar.. 2023. 10. 27.
백준 2693번 N번째 큰 수 C++/정렬/브론즈1 https://www.acmicpc.net/problem/2693 2693번: N번째 큰 수 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000 www.acmicpc.net 배열값을 입력받고 정렬후 출력한다. 범위가 다 정해져 있어서 편했음 #include #include #include #include using namespace std; int main() { //ios_base::sync_with_stdio(false); ios_base::sync_with_stdio(0); cin.tie(0); int test; cin >> test; .. 2023. 10. 27.
백준 10815번 숫자 카드 C++/이진탐색/실버5 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 상근이가 갖고있는 카드를 ch에 저장 정렬한다. (이진탐색을 사용하기 위해) 제시하는 카드를 가지고있으면 1 없으면 0을 출력한다. #include #include #include using namespace std; int main() { //ios_base::sync_with_stdio(false); ios_base::sync_with_stdio(0); cin.t.. 2023. 10. 27.
백준 1764번 듣보잡 C++/정렬/실버4 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 그냥 탐색해서 풀려니 시간초과가 나왔다. 그래서 검색해보니 이분탐색 binary_search 알고리즘을 사용하면 된다고 한다. 이를 사용하려면 사용할 자료가 정렬되어있어야한다 ! 바이너리 서치를 통해 받은 문자열이 str 에 있으면 => 정답 베열에 넣는다. #include #include #include #include using namespace std; int main() { //ios_b.. 2023. 10. 26.
백준 1546번 평균 C++/수학/브론즈1 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 가장큰값을 찾아서 그 값에 맞게 값을 보정한다. #include using namespace std; int main() { float n,a, maxi = -2147000000; float score[1001], sum=0.0; cin >> n; for (int i = 0; i > a; score[i] = a; if (a > maxi) { maxi = a; }.. 2023. 10. 26.