티스토리 뷰
https://app.codility.com/demo/results/trainingPJJYGA-U3G/
배열에는 1~(N+1) 까지 각 인덱스에 중복되지 않는 값이 들어간다.
배열 크기는 N 이다.
function solution($A) { $result = 0; $N = sizeof($A); if ($N < 0 || $N > 100000) return $result; $max = 0; for ($i = 0 ; $i < $N ; $i++) { if(!isset($tmp[$A[$i]])) { $tmp[$A[$i]] = 1; $max = $max < $A[$i] ? $A[$i] : $max; } else return $result; } if ($max == $N+1) { $cnt = 0; for ($i = 1 ; $i < $max+1 ; $i++) { if (!isset($tmp[$i])) { $result = $i; $cnt++; } } if ($cnt > 1) $result = 0; } else $result = $max+1; return $result; }
'알고리즘' 카테고리의 다른 글
알고리즘/ 가장 긴 패스워드 찾기 _PHP (0) | 2018.05.22 |
---|---|
알고리즘/ 가장 짧은 거리 구하기 _PHP (0) | 2018.05.19 |
알고리즘/ 개구리 점프 _PHP (0) | 2018.05.19 |
알고리즘/ 배열에서 짝없는 원소 찾기 _PHP (0) | 2018.05.16 |
알고리즘/ 배열 회전하기 _PHP (0) | 2018.05.15 |