반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 다이나믹 프로그래밍
- 백트래킹
- 안드로이드
- 코틀린
- 맵
- 백준
- c++풀이
- 코드트리 조별과제
- 그래프 탐색
- 브루트포스
- 풀이
- 코드트리
- 문자열
- 시뮬레이션
- dp
- 그래프 이론
- 파이어스토어
- 멀티맵
- 코드트리조별과제
- 다익스트라
- dfs
- 그래프
- 파이어베이스
- 자료 구조
- map
- c++
- BFS
- 분할정복
- 에러
- 코딩테스트
Archives
- Today
- Total
Kangho_Story
[코드트리 조별과제] 중앙값 계산2 C++ 풀이 본문
728x90
반응형
알고리즘 분류
- 정렬
- 문자열
문제 설명
개의 숫자가 주어졌을 때, 순서대로 숫자를 읽다가 홀수 번째의 원소가 주어질 때마다 지금까지 입력받은 값의 중앙값을 출력하는 프로그램을 작성해 보세요. 여기서 중앙값이란, 어떤 주어진 값들을 오름차순으로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다.
입력 설명
첫 번째 줄에는 숫자 이 주어집니다.
두 번째 줄에는 개의 숫자가 공백을 사이에 두고 주어집니다.
- 1 ≤ ≤ 100, 은 홀수
- 0 ≤ 주어지는 숫자 ≤ 100,000
출력 설명
개의 숫자를 순서대로 읽으며 홀수 번째 수를 읽을 때 마다 지금까지 입력받은 값 중 중앙값을 차례대로 공백을 사이에 두고 출력합니다.
예제 입력
5
1 2 3 4 5
9
1 5 2 9 7 4 6 10 11
예제 출력
1 2 3
1 2 5 5 6
아이디어
n번의 숫자를 입력 받으면서 홀수번째 숫자를 입력받을 때마다 입력받은 벡터를 정렬해 주고 그중 중앙값을 출력한다.
알고리즘
벡터에 n번의 push_back()연산으로 입력을 받는 도중 홀수번째 숫자를 입력받을 때마다 입력받은 벡터를 오름차순으로 정렬하고 그 중앙값인 vector[vector.size()/2]를 출력한다.
코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin>>n;
vector<int> vec;
for(int i=1;i<=n;i++)
{
int temp;
cin>>temp;
vec.push_back(temp);
if(i%2 != 0)
{
sort(vec.begin(), vec.end());
cout<<vec[vec.size()/2]<<" ";
}
}
return 0;
}
후기
문제 링크 -> https://www.codetree.ai/missions/5/problems/get-median-2?&utm_source=clipboard&utm_medium=text
난이도가 어려움이어서 약간 겁먹었는데 생각보다 쉽게 풀어서 놀랐다.
본 블로그의 모든 글은 개인적인 학습 내용이므로 다양한 오류가 있을 수 있습니다.
오류를 발견하신다면 해당 내용 댓글로 알려주시면 감사하겠습니다!
728x90
반응형
'PS' 카테고리의 다른 글
[백준] 1065번 한수 C++ 풀이 (0) | 2024.08.02 |
---|---|
[백준] 11286번 절댓값 힙 C++ 풀이 (0) | 2024.08.01 |
[백준] 11047번 동전 0 C++ 풀이 (0) | 2024.07.31 |
[백준] 16928번 뱀과 사다리 게임 C++ 풀이 (0) | 2024.07.30 |
[코드트리 조별과제] 재귀함수를 이용한 최소공배수 C++ 풀이 (0) | 2024.07.30 |
Comments