728x90
반응형
[삼성 SDS 알고리즘] 가장 많은 수
문제 출처 : https://koitp.org/problem/SDS_PRO_2_4/read/
문제 풀이
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #include <iostream> #include <vector> using namespace std; int main() { int N; cin >> N; vector<int> a(N); vector<int> b(N); for (int i = 0; i < N; i++){ cin >> a[i]; b[i] = a[i]; } int max, maxNum = 0; for (int i = 0; i < N; i++) { int count = 0; if (i == 0) max = 0; for (int j = 0; j < N; j++) { if (a[i] == b[j]) count += 1; } if (count >= max) { if (count == max) { if (maxNum <= a[i]) maxNum = maxNum; else maxNum = a[i]; } else{ max = count; maxNum = a[i]; } } } cout << maxNum << endl; } | cs |
채점해보니 몇 개를 제외한 대부분의 테스트케이스를 시간초과 문제로 통과하지 못했다ㅠ
아마도 이중 for문을 사용하면서 시간복잡도가 증가해서 그런 것 같다... 다시 생각해보고 풀어보기
728x90
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] 베스트앨범 (Java) (3) | 2019.09.27 |
---|---|
[알고리즘] 배열 회전 프로그램 (0) | 2018.11.12 |
[삼성 SDS 알고리즘 사전테스트] 순환공간 (0) | 2018.07.26 |
[삼성 SDS 알고리즘 사전테스트] 마지막 생존자 (0) | 2018.07.26 |
[삼성 SDS 알고리즘 사전테스트] 쉬어가는 페이지 (0) | 2018.07.19 |