본문 바로가기

백준/C++

(135)
[C++] 백준 1083번 소트 이제... 완전 종강이구나... 오늘은 저녁 약속이 있어서 얼른 얼른 끝내야겠다~!! 무슨 문제를 풀까 고민하다가 골드 문제를 한번 풀어볼까 해서 골라보았다. 문제 https://www.acmicpc.net/problem/1083 1083번: 소트 크기가 N인 배열 A가 있다. 배열에 있는 모든 수는 서로 다르다. 이 배열을 소트할 때, 연속된 두 개의 원소만 교환할 수 있다. 그리고, 교환은 많아봐야 S번 할 수 있다. 이때, 소트한 결과가 사전 www.acmicpc.net 처음에 2개씩 자리를 서로 바꾸라고 하는 줄 알고 잘못구현했었다... 예제는 잘 나와서 "뭐지?" 했는데 다시 보니... 버블 정렬 문제였다 ㅎㅎ // 문제 잘못읽고 구현한 코드 #include using namespace std;..
[C++] 백준 2776번 암기왕 눈이다~~ 펑펑(은 아니지만) 눈이 옵니다~ 하늘에서 눈이 옵니다~ 오전 볼일을 끝내고 좀 쉬다가 노트북 앞에 앉았다. 무슨 문제를 풀지 고민하다가 암기왕이 되고 싶어 암기왕 문제를 풀려고 한다. 문제 https://www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net 음... 어?? 그런데 문제를 잘 읽어보니 예전에 푼 문제랑 비슷한 것 같다. 이 문제는 테스트케이스의 개수를 입력받기 때문에 while을 통해 테스트케이스의 개수만큼 반복해주면 되겠다. while 문 ..
[C++] 백준 2693번 N번째 큰 수 시험 끝~~~ 으으.. 너무 졸리다... 오늘은 머리가 좀 아파서 간단한 것을 풀어야겠다. 문제 https://www.acmicpc.net/problem/2693 2693번: N번째 큰 수 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000 www.acmicpc.net 처음에 봤을 때는 뭔가 어려워 보였는데 막상 문제를 읽어보니 엄청 쉬웠다. 일단 몇개의 케이스가 있는지 개수를 입력받고 while문을 그 수만큼 반복해 주도록 한다. while문 안에서는 크기가 10인 배열에 입력을 받아 sort를 이용해 내림차순으로 정렬해 준다. 여기서 내림..
[C++] 백준 1946번 신입 사원 시험 공부하기 싫다~~~ 문제 https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 오늘의 문제는 신입 사원~~ 이것도 회의실 때처럼 비슷하게 하면 될 것 같다는 생각이 들었다. 여기서는 순서대로 입력을 받아서 서류 중심으로 오름차순 정렬을 하고, 서류 순위가 높은 첫 번째 사람의 면접 순위보다 면접 순위가 높은 사람이면 count 해주도록 하면 될 것 같다. // 틀린 코드 #include #include #include us..
[C++] 백준 2587번 대표값2 진짜... 너무 춥다.... 바람이 얼굴을 때린다... 문제 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 이 문제는 입력받은 것을 변수에 더해주며 크기가 5인 배열에 넣어주고 평균을 구하기 위해 더해준 변수 5로 나누어주면 될 것 같다. 그리고 중앙값은 입력받은 배열을 정렬해 준 후 가운데 값을 찾아주면 될 것 같다. #include #include using namespace std; int num[5..
[C++] 백준 1931번 회의실 배정 딴딴딴~~ 오늘은 12월 16일입니다. 눈이 내리고 있었는데 지금은 그쳤다. 그러나... 나의 1일 1 블로그는 그칠 생각이 없다!! 오늘의 문제!! https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 으흠... 일단 pair로 입력받고 정렬을 한 후에 하나씩 회의실을 선택해 가며 최대로 사용할 수 있는 회의의 최대 개수를 알아내면 될 것 같다. // 틀린 코드 #include #include #include using namespace std; int n; int current_indx = 0; int current_num; int maxroom = 0; int..
[C++] 백준 2309번 일곱 난쟁이 오늘 문제는~~ 문제 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 일곱 난쟁이~~~ 음... 어떻게 풀어야할지 고민해보니... 하나하나 다 확인해야할 것 같다. 일단, 배열에 다 입력받고 정렬을 미리한 후 그 합을 구해서 2개씩 빼주어 합이 100이 되는지 확인해야겠다. // 틀린 코드 #include #include using namespace std; int n,temp; int sum = 0; int sevenshort[9]; int main(..
[C++] 백준 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 일단 벡터로 입력을 받고 비교할 것을 pair로 받아야겠다는 생각이 들었다. 그래서 각 수들이 존재하는지 확인하여 second에 1을 저장하면..