본문 바로가기
공부/algorithm

[codility] PassingCars

by 김쫘 2018. 5. 23.
PassingCars

PassingCars

Count the number of passing cars on the road.

Task Score

100%

Correctness

100%

Performance

100%


자동차가 지나갈 때마다 짝을짓는데 (0인경우, 1인경우) 이렇게 짝을 짓는다. 그런데 앞의 0인 경우보다 앞에 등장한 차는 짝을 짓지 않는다.

 

For example, consider array A such that:

A[0] = 0 A[1] = 1 A[2] = 0 A[3] = 1 A[4] = 1

We have five pairs of passing cars: (0, 1), (0, 3), (0, 4), (2, 3), (2, 4).

 

그래서 그냥 하나씩 짝을 지어줄 필요 없이 count하는 식으로 했다.

0이 한번 등장하면 다음 0이 등장할 때까지 1씩 더해주고, 0이 한 번 더 등장하면 다음 0이 나올 때까지 2씩 더해주고, 그다음은 3씩, 그다음은 4씩 더해주는 식이다.

그리고 result가 범위를 이탈하면 에러상황으로 -1을 반환하도록 했다.

 


'공부 > algorithm' 카테고리의 다른 글

[codility] MinAvgTwoSlice  (0) 2018.05.24
[codility] GenomicRangeQuery  (0) 2018.05.24
[codility] CountDiv  (3) 2018.05.23
[codility] MaxCounters  (0) 2018.05.23
[codility] PermCheck  (0) 2018.05.23

댓글