giyobe   4년 전

덱 사이즈를 줄이면 시간초과가 뜨다가 사이즈를 1000 정도로 크게 키우면 0ms로 맞았습니다가 뜹니다.

N은 50보다 작거나 같기 때문에 배열 사이즈가 55정도만 되어도 제대로 동작해야 하는데 말입니다.

어디가 잘못된 것일까요?


구현은 다음과 같은 방식으로 하였습니다.

1) dq 배열에 1부터 N까지 숫자를 앞에서부터 차례대로 enqueue

2) 1부터 M까지 숫자 중 찾아야 할 숫자가 들어있는 인덱스를 n에 저장

3) n - front와 rear - n을 비교하여 작은 방향으로 shift 및 shift 횟수를 저장 및 shift 후 목표 숫자 제거

4) 2)와 3)을 반복

5) 누적된 shift 횟수를 출력


giyobe   4년 전

line 59, 63에서 음수가 전달되는 것이 문제였던 듯 합니다.

line 3를 아래와 같이 수정하니 제대로 동작하는군요.

나름 음수 처리를 한다고 해놨는데 앞으로는 확실히 해야겠네요.

1) C언어 모듈로 연산자는 X % Y 에서 X의 부호(+ 또는 -)에 따라 결과가 출력됨

2) 그냥 큰 양수로 만들어놓자...


댓글을 작성하려면 로그인해야 합니다.