Hard deck/reindexing d2

006 : 투 포인터

서버관리자 페페 2023. 6. 19. 10:39

 

 

 

 

 

pointer = value일 때 connector가 필요없을수도 있다

 

e = N일의 케이스 1개는 별도로 두고 시작한다

 

pointer의 driving direction은 모두 ++;

 

그러나 사잇값을 얘기하므로

- e는 움직이고 다음값을 포함하고 

- s는 현재값을 버리고 다음으로 움직인다

 

*plate가 N이 되고 나서 s++ 먼저 할 수는 없는지?

> 상관없음 어차피 다음 N까지 모두 check-in되는 개념

 

 

 

 

 

 

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        // ISC
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        // OP
        int counter = 1;
        int s = 1;
        int e = 1;
        int plate = 1;

        while (e < N) {
            if (plate == N) {
                counter++;
                e++;
                plate += e;
            } else if (plate > N) {
                plate -= s;
                s++;
            } else {
                e++;
                plate += e;
            }
        }

        // OEC
        System.out.println(counter);
    }
}

 

'Hard deck > reindexing d2' 카테고리의 다른 글

009 : sliding window  (0) 2023.06.19
008 : 좋은 수 구하기  (0) 2023.06.19
007 : 투 포인터 > 무작위 배열의 2가지 합  (0) 2023.06.19
030 : 블루레이 만들기  (1) 2023.06.19
029 : Binary search 기본  (1) 2023.06.19