본문 바로가기

백준/C++

(132)
[C++] 백준 10953번 - A+B-6 문제 10953번https://www.acmicpc.net/problem/10953 10953번: A+B - 6두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.www.acmicpc.net 콤마는 char형으로 만든 변수로 따로 받아주고 나머지는 정수형으로 받아 더한 값을 출력해주면 된다. #include using namespace std;int main() { int A, B, n; char temp; cin >> n; for (int i = 0; i > A >> temp >> B; cout
[C++] 백준 25305번 - 커트라인 오늘은 할 일이 있어서 간단한거를 해야겠다. 문제 25305번https://www.acmicpc.net/problem/25305 25305번: 커트라인시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다.www.acmicpc.net 이번에는 개수를 입력받으면 포인터로 해서 배열의 크기를 정해주었다. 그렇게 배열에 입력값을 다 입력받은 후 정렬을 해준 후 해당 번째 값을 출력해줬다. #include #include using namespace std;int main() { int N, k; cin >> N >> k; int* x = new int [N]; for (int i = 0; i > x..
[C++] 백준 2512번 - 예산 문제 2512번 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 이진탐색을 해주기 위해 입력받은 값들을 오름차순으로 정렬해주었다. 그리고 v에 있는 입력값과 기준으로 잡은 상한액인 mid와 비교하여 작은 값을 count에 더해준다. 그렇게 나온 합이 총 예산보다 작거나 같으면 result에 해당 상한액인 mid를 넣어주고 start는 mid에 1증가시켜준다. 반대인 경우, end는 mid에 1감소시켜준 값을 넣어주면 된다. #include..
[C++] 백준 10808번 - 알파벳 개수 문제 10808번 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 이번 문제는 따로 알파벳의 개수를 저장하는 arr배열을 만들고 s의 길이만큼 반복문을 돌려서 해당 알파벳에 해당하는 인덱스에 1을 더해줬다. 그리고 배열에 담긴 26개의 숫자를 출력해주었다. #include #include using namespace std; int arr[26] = { 0 }; int main() { string s; cin >> s; for (int i = 0; i < s.length(); i++) { arr[s[i] - 'a']++; } for (in..
[C++] 백준 11719번 - 그대로 출력하기 2 문제 11719번 https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net getline() 함수를 사용해 한 줄로 입력받았다. 빈 줄이 입력될 수도 있어서 while문의 조건에 입력이 없으면 종료되도록 만들었다. #include #include using namespace std; int main() { string s; while (getline(cin, s)) { cout
[C++] 백준 9076번 - 점수 집계 오늘은 약속을 갔다오니 너무 피곤하다. 역시 평일에 일찍일어나서 뭔가 일을 하니까 주말에 피곤이 쌓이는 것 같다. 오늘은 간단한 문제 하나 풀어야지... 문제 9076번 https://www.acmicpc.net/problem/9076 9076번: 점수 집계 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 다섯 심판이 준 점수 다섯 개의 정수 Ni(1 ≤ Ni ≤ 10, i = 1, 2, ..., 5)가 하나의 공백을 사이에 두고 www.acmicpc.net 입력값들을 벡터에 입력받아 정렬해준다. 그리고 양끝을 뺀 나머지 중 가장 작은 수와 큰 수를 빼서 4이상이 나온다면 'KIN'을 출력해주고 4이상이 아니라면 양끝을 뺀 나머지 중 가장 작은 수..
[C++] 백준 2467번 - 용액 문제 2467번 https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 오늘은 투포인터를 사용하는 문제를 골랐다!! 투 포인터는 오름차순으로 정렬된 데이터를 양끝(left, right)에서부터 시작하여 탐색하는 방법이다. 이 문제에서 입력값이 오름차순으로 들어오기 때문에 따로 정렬은 안 해줘도 된다. left와 right에는 각각 첫번째 인덱스와 마지막 인덱스인 0과 N-1로 초기화시켜준다. while문을 이용하여 left와 right가 바로 옆..
[C++] 백준 2110번 - 공유기 설치 문제 2110번 https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 이번 문제는 내가 잘못 생각했다. 최대 거리를 구해야하니까 거리를 기준으로 잡아야 하는데 나는 공유기에 집중했다. 그래서 start와 end에는 각각 최소와 최대 거리를 넣어준다. 그리고 1부터 N까지 반복문을 사용하여 뺏을 때 거리가 mid보다 크거나 같은지 확인한다. 만약 크거나 같으면 공유기 개수를 count해주고 다음 공유..