문제 접근 산술 평균의 경우, 값을 입력받을 때마다 N으로 나눈 것들의 총합을 구해 반올림하자. 총합은 반올림을 위해 실수 자료형을 사용했기에, 모두 더하고 나누면 오버플로우가 발생할 수 있음. 중앙값의 경우, 단순히 입력받은 값 vector를 정렬해서 중앙값을 가져오자. algorithm 헤더의 sort 함수는 O(nlogn)이다. 따라서, N이 최댓값(500,000)이라고 하더라도 대략 3백만으로 충분히 시간 내에 해결 가능함. 최빈 값의 경우, 중복 횟수를 세는 vector를 만들어서 max_element 함수로 최빈값을 찾자. 최빈 값이 여러 개라면 max_element 함수가 가장 첫 번째 max 값의 iterator를 반환하므로, 첫 번째 iterator 다음부터 end까지 중 max 값과 같..
알고리즘 레콩키스타
문제 접근 원하는 수열의 확인해야 되는 부분과 스택의 top을 비교한다. 값이 같다면, 스택을 pop 하고 정답에 '-'를 추가한다. 값이 다르다면, 증가하는 정수 값을 스택에 push하고 정답에 '+'를 추가한다. 증가하는 정수 값이 n보다 큰데, 접근 1의 비교 값이 다르다면 수열이 만들어질 수 없으니 "NO"를 출력한다. https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmic..