댄코 - 댄싱코딩

[1021] 회전하는 큐 본문

코딩/알고리즘

[1021] 회전하는 큐

Jk hila 2017. 7. 4. 22:15

처음에 C++쓰는 김에 배열을 사용해서 circleQueue 클레스로 만들어보자 했는데 계속 틀렸습니다가 떴다.

반례를 못찾아서 다시 덱으로 구현했다.

  1. 덱의 맨 앞부분의 숫자가 현재 찾고자 하는 숫자와 같으면 덱에서 pop()
  2. 아니라면 현재 찾고자 하는 숫자의 인덱스가 앞쪽에 가까운지, 뒤쪽에 가까운지 검사
  3. 앞쪽에 가까우면 덱의 맨 앞 원소를 덱의 맨 뒤로,
  4. 뒤쪽에 가까우면 덱의 맨 뒤 원소를 덱의 맨 앞으로 옮긴다.
위 과정을 입력받으로 받은 큐가 빌 때까지 반복한다.







'코딩 > 알고리즘' 카테고리의 다른 글

[2193] 이친수  (0) 2017.07.05
[2747] 피보나치 수  (0) 2017.07.05
[1094] 막대기  (0) 2017.07.04
[1057] 토너먼트  (0) 2017.07.04
[1520] 내리막 길  (0) 2017.07.04
Comments