코델리티 PassingCars java풀이

Sorbet·2021년 4월 21일
0

코테

목록 보기
21/35
post-thumbnail

해설

  • 코딩은 쉬운데 지문분석이 빡세다

    • 0은 >> 오른쪽으로 가는 차
    • 1은 << 왼쪽으로 가는 차
  • (문제는 안나와있지만) 2차선 도로에서 차들이 운행하면서 차대차 스쳐 지나가는 횟수를 구하는 문제

  • 0이든 1이든 상관 없지만 0 기준으로

  • 모든 0이 마지막 인덱스로 가면서 만나는 모든 1의 갯수를 더하면 되는데

  • 그냥 이중포문으로 풀면 당연히 타임아웃이니까 포문 한번에 풀어내는 방식으로 풀으라는게 포인트

  • 0은 오른쪽(마지막인덱스 방향)으로 가는 자동차의 댓수이고

  • 1은 반대편으로 가는 차니까,

  • 정답을 구하기 위해서는 1을 만날때마다 자동차 댓수만큼 더해주면 된다

class Solution {
    public int solution(int[] A) {
        int count = 0;
        int sum = 0;

        for(int i=0 ; i<A.length ; i++) {
            if(A[i] == 0) {
                sum++;
            }
            else {
                count += sum;
            }
            if(count > 1000000000 || count <0) {
                return -1;
            }
        }

        return count;

    }
}
profile
Sorbet is good...!

0개의 댓글