CS/코딜리티
문제 // Codility // Counting Elements // MaxCounters // (성능부족)
문스코딩
2018. 8. 17. 11:21
업데이트 :: 2018.08.17
문제
Counting Elements > MaxCounters Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum.
코드
1차 풀이
import java.util.*; // you can write to stdout for debugging purposes, e.g. // System.out.println("this is a debug message"); class Solution { public int[] solution(int N, int[] A) { // 만약 A[K]가 1과 N사이면 A[K] 카운터가 1씩 증가 // 만약 A[K]가 N이상이면 모든 카운터가 최대값인 카운터로 설정 int max = 0; int[] result = new int[N]; for(int counter : result) counter = 0; for(int element : A) { if(1 <= element && element <= N) { result[element-1] += 1; if(result[element-1] > max) max = result[element-1]; } else { for(int i=0; i<result.length; i++) { result[i] = max; } } } return result; } }
결과
1차 77%
- 성능
- large_random2 (large random test, 10000 max_counter operations)
- extreme_large (all max_counter operations)
학습
- 아직 성능 최적화 방법 확인 하지 못함
Created by MoonsCoding
e-mail :: jm921106@gmail.com
반응형