백준/정렬7 백준 1546 c++ "평균" -PlusUltraCode- https://www.acmicpc.net/problem/1546 [필자 사고] 문제에서 요구하는대로 코드를 구현하면 쉽게 풀리는 문제이다.1. 최대값을 찾고 현재 점수들에 최댓값을 나눈다. 2. 그 값들의 평균을 구한다. 조심할 점은 소숫점이 있기 때문에 float 아니면 double 을 사용해야 한다. [소스 코드]#include #include #include #include using namespace std;int N;vector arr;float avg = 0;float maxNum = -1;void Input() { cin >> N; arr.resize(N); for (int i = 0; i > arr[i]; } maxNum = *max_element(arr.begin(), arr.end(.. 2024. 7. 30. 백준 11720 c++ "숫자의 합" -PlusUltraCode- https://www.acmicpc.net/problem/11720 [필자 사고]이 문제에서 핵심은 N의 수를 보는것이다. N의 범위가 1~100 이다. 즉 100자리까지 숫자가 만들어진다는 뜻이다.실제로 int 를 사용하게 되면 문제가 발생한다. 필자는 이 문제를 string 즉 문자열로 접근했다. 배열 idx 하나하나에 접근하면서 stoi내장함수를 사용하여 문자를 숫자로 바꿔주는 로직으로 설계했다. [소스 코드] #include #include #include using namespace std;int N;string number;int result = 0;void calculator(string number2) { int idx = 0; while (number2[idx] != NULL.. 2024. 7. 30. 백준 2751 c++ "수 정렬하기 2" -PlusUltraCode- https://www.acmicpc.net/problem/2751 [필자 사고]정렬 문제이다.이 문제의 핵심은 N의 갯수가 1~ 1000000 이라는 점이다.버블정렬과 같은 시간복잡도가 N^2인 경우를 사용할경우 1억번의 연산을 초과하여 시간초과가 발생한다.그렇다면 N^2이 아닌 NlongN 정렬 알고리즘을 사용해야 된다. c++ 대표적인 벡터 내적함수 ;sort를 사용하면 문제를 쉽게 해결할 수 있다. [소스 코드]#include #include #include using namespace std;int N;vector arr; void Input() { cin >> N; arr.resize(N); for (int i = 0; i > arr[i]; } sort(arr.begin(), arr.end()).. 2024. 7. 30. 이전 1 2 다음