티스토리 뷰
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 < $loop_time ; $i++) { for ($no = 0 ; $no < $N ; $no++) { if($no == 0) $tmp[$no] = $tmp_A[$N-($no+1)]; else $tmp[$no] = $tmp_A[$N-($N-$no+1)]; } $tmp_A = $tmp; } $rs = $tmp_A; return $rs; }
https://app.codility.com/demo/results/trainingSGNVTZ-4QC/
데모라 그런지 문제를 다시 풀 수가 있구나 :)
조건 하나 수정해서 100점을 득하다
function solution($A, $K) { $rs = array(); $N = sizeof($A); if ($N < 1 || $K < 0 ) return $rs; $loop_time = $K % $N; $tmp = array(); $tmp_A = $A; for ($i = 0 ; $i < $loop_time ; $i++) { for ($no = 0 ; $no < $N ; $no++) { if ($no == 0) $tmp[$no] = $tmp_A[$N-($no+1)]; else $tmp[$no] = $tmp_A[$N-($N-$no+1)]; } $tmp_A = $tmp; } $rs = $tmp_A; return $rs; }
'알고리즘' 카테고리의 다른 글
알고리즘/ 빠진 숫자 찾기 _PHP (0) | 2018.05.19 |
---|---|
알고리즘/ 개구리 점프 _PHP (0) | 2018.05.19 |
알고리즘/ 배열에서 짝없는 원소 찾기 _PHP (0) | 2018.05.16 |
알고리즘/10진수를 2진수로 변환하여 연속되는 0의 길이 가장 긴 값_PHP (0) | 2018.05.15 |
프로그래밍 강의 & 알고리즘 문제 연습 사이트 (0) | 2018.03.27 |