알고리즘

[codility] 풀어보기 - TapeEquilibrium

Dohoon 2017. 9. 27. 15:53

Lesson 3-3  - TapeEquilibrium

내용  : Minimize the value |(A[0] + ... + A[P-1]) - (A[P] + ... + A[N-1])|

시간 복잡도 : O(N)

성공한 코드

function solution(A) { // write your code in JavaScript (Node.js 6.4.0) let tot = 0; let rt_val = 100001; let tmp_tot = 0; for(i = 0;i<A.length;i++) { tot +=A[i]; } for(i=0;i<A.length-1;i++) { tmp_tot = tmp_tot + A[i]; tmp_val = Math.abs(tmp_tot-(tot-tmp_tot)); (tmp_val <= rt_val)?rt_val = tmp_val:''; } return rt_val; }


기타 의견

  • 이건 시간복잡도를 맞추기 위해 논리의 흐름이 변경 되는 건데 이래도 되나? 이러면 나중에 문제가 되지 않나?
  • 좀 억지스러운 문제라고 생각하는건 나 뿐인가?
  • 그리고 구글에 검색해보면 답이 다 똑같은데 이게 무슨 알고리즘 연습임?
  • 좀 많이 생각해 봐야 할듯......
  • 코드는 인터넷에 있는 걸로 대체 https://stackoverflow.com/questions/19455058/tape-equilibrium-codility-training 
  • ....................
  • 너무 어렵게 생각해서 좀 허무함
  • 그래서 다른 사람들 참고 해서 다시 코딩 했음
  • 어거지로 조금이라도 다르게 했음
  • 어렵네 ㅠㅠ