정수는 $n
입력 받은 양의 정수는 $n
https://app.codility.com/demo/results/trainingB9KEUF-S3A/ 전에 비슷한 문제를 풀어봤는데, 다시 푸니까 망 ㅇ0ㅇ테스트를 다양하게 해봅시다. function solution($A) { $result = 0; $N = sizeof($A); if ($N 100000) return $result; $max = 0; $tmp = array(); for ($i = 0 ; $i 1000000) return $result; if ($A[$i] > 0) { $max = $max < $A[$i] ? $A[$i] : $max; $tmp[$A[$i]] = 1; } } if..
https://app.codility.com/demo/results/training4C7QF3-WV6/ 미디엄 레벨문제는 처음 ㅇ_ㅇ이런 점수 또한 처음 ㅇ0ㅇ 댐의 최대수위 구하기 알듯.. 말듯... function solution($A) { $result = 0; if (empty($A)) return $result; $N = sizeof($A); if ($N 100000) return $result; $max = 0; $tmp_max = 0; $tmp = array();$dep = array(); $max_dep = 0; for($i = 0 ; $i < sizeof($A) ; $i++) { if ($max < $A[$i]) { $max = $A[$i]; $tmp_max = 0;..
https://app.codility.com/demo/results/trainingPKZD2X-32D/ 패스워드의 조건;짝수 개의 문자(a-z, A-Z), 홀수 개의 숫자(0-9) 모든 문자는 아스키 코드로 표시할 수 있다는 조건. 처음 생각은 String 으로 값이 들어오기에 공백으로 explode 해서각 단어별로 각 문자의 아스키 값을 구해 조건에 맞는지 비교하려고 했다.근데 그럼 for문의 중첩을 피할 수가 없다!! 이럼 Time complexity 확 올라가서 안됨...그래서 생각한게 아래의 방법인데 예외처리가 부실해서 부실점수 획득 ;) function solution($S) { $result = -1; $N = strlen($S); if ($N 200) return $re..
https://app.codility.com/demo/results/trainingPJ93XE-8ZM/ 조건은 충족했지만, 배열의 크기가 커질 수록 퍼포먼스는 현저히 떨어지는 로직 ㅇ_ㅇ어렵.. ㅇ-ㅇ function solution($A) { $result = 0; if (sizeof($A) 100000) return $result; $tmp = 0; for ($p = 1 ; $p 1000) return $result; for ($i = 0 ; $i < $p ; $i++) { $sum_a += $A[$i]; } for ($j = $p ..
https://app.codility.com/demo/results/trainingPJJYGA-U3G/ 배열에는 1~(N+1) 까지 각 인덱스에 중복되지 않는 값이 들어간다.배열 크기는 N 이다. function solution($A) { $result = 0; $N = sizeof($A); if ($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..
https://app.codility.com/demo/results/trainingZCM7H7-PP7/ 귀여운 개구리 점프! 폴짝폴짝*포인트는 ceil 과 (int) 로 형변환 function solution($X, $Y, $D) { $jump = 0; if ($X 1000000000 || $Y > 1000000000 || $D > 1000000000) return $jump; if ($X > $Y) return $jump; $dis = $Y - $X; $jump = $dis / $D; $jump = (int)ceil($jump); return $jump;}
https://app.codility.com/demo/results/training27P63H-25J/ 하하... 이미 풀 때부터 너무 조건문이 많아서 이건 아니다 싶었어.정말 아니구나 ;) 밤이 깊었으니 내일이나 나중에 다시 풀어봐야할듯 ㅠ_ㅠ function solution($A) { $rs = 0; $tmp = array(); $idx = $max = 0; for ($i = 0 ; $i 1) { if ($A[$i-2] == $A[$i]) { if ($tmp[$max][0] == $A[$i]) { if ($tmp[$max][1] < 1) $tmp[$max][1]++; else { $max++; $tmp[$max] = array($A[$i], 0..
https://app.codility.com/demo/results/trainingAAGNJ3-BYV/ 배열 A를 K 번 만큼 회전(한 번 돌 때마다 원소를 오른쪽으로 민다)* 배열의 크기 N 과 회전 수 K 의 범위는 [0~100]* 배열 A의 원소 값의 범위는 [-1000~1000] 첫 번째 조건을 제대로 이해 못한 결과... 87점 ㅠ_ㅠ조건에 맞게 테스트를 잘 해보자!!어쩐지 너무 빨리 제출한다 싶었어 ㅠ^ㅠ function solution($A, $K) { $rs = array(); $N = sizeof($A); if ($N < 0 || $K < 0) return $rs; $loop_time = $K % $N; $tmp = array(); $tmp_A = $A; for ($i = 0 ; $i <..