728x90
MAX counter로
모든 원소를 MAX로 채우는 작업을 실시간으로 해주면 시간초과나서 틀림,
MAX counter할 MAX값을 for문 끝날때까지 계속 갱신시켜주면서
for문 탈출 후 가장 마지막에 쭉 갱신시켜주면됨
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 | public int[] solution(int N, int[] A) { // write your code in Java SE 8 int[] res = new int[N]; int nowMax = 0; int preMax = 0; for (int i = 0; i < A.length; i++) { if (A[i] > N) { preMax = nowMax; } else { if (res[A[i] - 1] > preMax) res[A[i] - 1]++; else res[A[i] - 1] = preMax + 1; if (res[A[i] - 1] > nowMax) nowMax = res[A[i] - 1]; } } for (int i = 0; i < res.length; i++) { if (res[i] < preMax) res[i] = preMax; } return res; | cs |
'알고리즘 풀이 > Codility' 카테고리의 다른 글
codility - Counting Elements (MissingInteger) (0) | 2019.12.10 |
---|---|
codility - Counting Elements (PermCheck) (0) | 2019.12.10 |
codility - Counting Elements (FrogRiverOne) (0) | 2019.12.10 |
codility - Time Complexity (TapeEquilibrium) (0) | 2019.12.10 |
codility - Time Complexity (PermMissingElem) (0) | 2019.12.10 |