알고리즘

[codility] 풀어보기 - PassingCars

Dohoon 2017. 10. 27. 14:21

Lesson 5-2 - PassingCars

내용 : Count the number of passing cars on the road.

시간 복잡도 : O(n)

정답 코드 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function solution(A) {
    // write your code in JavaScript (Node.js 6.4.0)
    let rt=0;
    let eastcnt=0;
    for(i in A) {
        if(A[i] == 0) {
            eastcnt ++;
        }
        else {
            rt += eastcnt;
        }        
        if(rt > 1000000000) { rt = -1; break; }
    }
    return rt;
cs

  • 동쪽과 서쪽 짝을 이루어야 되므로 구분해서 계산
  • 쉽지 않은 문제
  • 이런 방법도 있다는걸 처음 알았음
  • 아직도 배워야 할게 참 많구나
  • 겸손해지면서 자괴감이 동시에 생김
  • 참고 : http://abh0518.net/tok/?p=558