링크 : https://codility.com/programmers/lessons/7-stacks_and_queues/fish/ 문제> * N개의 정수는 N개의 물고기(A배열 : 물고기의 크기, B배열 : 물고기의 방향.)를 나타낸다. * P(번째) < Q(번째)인 물고기라면 P물고기는 Q보다 상류에 있다. * A배열의 모든 요소는 유일하다. * A배열의 더 큰 물고기는 작은 물고기를 먹는다. * B배열의 값은 0또는 1만 포함하고 0은 물고기가 상류로 1은 물고기가 하류로 향한다. * 같은방향의 물고기 끼리는 절대 만나지 않는다. * 살아 남은 물고기의 숫자를 구하라. 해결방법. *스택사용. 1) 헤엄치는 중인 물고기 번호를 체크할 Stack을 만든다. 2) 물고기 수 까지 1씩 증가하는 반복문을 돌린..
링크 : https://codility.com/programmers/lessons/3-time_complexity/tape_equilibrium/ 문제> *n개의 배열에서 A[0]~A[p-1]까지의 합(=P)과 A[p]~A[n-1]까지의 합(=N)의 차(P-N)의 절대값을 구해 가장 작은 수를 출력하라. **P = A[0] +.. + A[p-1]); **N = A[p] +.. + A[n-1]; **abs = |P - N|; 해결방법 0. ( 정확도 100%, 퍼포먼스 33% ) 쓰레기.. *) 2중 for문 사용. 1) 첫번째 for문에서 A의 0~n-1개 까지 누적으로 더하고( = P) - 내부의 두번째 for문 p 부터 n - 1을 더한다( = N) - N과 P를 뺀 절대값을 누적해서 더 작은 값이 ..