나 개발자 진짜 되냐?

백준 C++ 11866번 요세푸스 문제 0 ( Queue ) 본문

C++을 시작해봐요!/구현문제를 풀어봤어요!

백준 C++ 11866번 요세푸스 문제 0 ( Queue )

Snow Rabbit 2025. 12. 30. 18:15

 

오늘은 과메기를 먹었는데..

... 초장을 깜빡하고 안 가져와서..

없이 먹었다..

 

이거 쌩으로 먹는 건...

쉽지 않네

고등어를 입에 넣었다가 뺀 느낌이랄까.....

 

아직도 입에 그 비린맛이 ㅋㅋㅋㅋ

음료수로 헹구고 있지만... 쉽지 않다

 

그리고..

문제도 쉽지 않았다.


 

요세푸스문제를.. 한번 풀었던 기억이 있는데..

기억은 있는데.. 제목만 기억이 난다. 

 

그래서 그런지 문제 이해를 못 한 건 아닌데..

항상 이런 원으로 나오는 게 참 어렵다.

 

어째 풀어야 하나..

하면서 밑으로 내리니

 

알고리즘 : 큐

라고 적혀있었다.

 

내가 생각했던 큐....
큐의 원리를 생각해 보면 먼저 들어온 애가 먼저 나갔.. 나? 나중에 나갔나..??

 

Queue : FIFO

Stack : LIFO

 

그렇다면...

1부터 7까지면 

1 2 3 4 5 6 7

 

1을 빼서 7 뒤에 넣고

그렇게 3번 해서 3은 빼서 다른 곳에 넣고..

그러면 되지 않을까?

 

.....

분명 열심히 썼는데..

난장판이 났다.

ㅋㅋㅋㅋㅋㅋ

 

요즘 점점 내 before 식을 보여주기 민망하다.

근데 안 쓰면 어디가 문제인지 말을 못 하겠는걸...

읽는 사람이 있다면 이 밑에 사진을 절대 보지 마시오..

 

 

생각나는 대로 열심히 썼는데 답 이 뭔 음수가 나온다.

ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

열받아서 힌트 달라고 지 선생한테 가니

지피티 몇 가지 문제점을 알려주었다.

 

1.

큐에 아무것도 안 담겨있다고 한다..

 

허걱쓰

얼른 고쳤다.

 

 

2.

while문이 이상하다.

q값이 비면 멈춰야 하는데

이 녀석은 비었을 때 움직인다....ㅋㅋㅋ

 

참일 때 반복..!!

잊지 말자 ㅋㅋㅋ

 

 

3.

cnt 값이 수기로 작성되었다.

 

맞다 사실 K값인데.. 3이라고 그냥 눌러놨다.

그리고 3번 반복해야 하고 숫자 초기화해줘야 하니까 1이 아니라 0이다.

 

오케이 여기까지 했고

 

내가 알고도 안 푼 건 마지막 문제였다.

 

4.

출력할 때 보면 < > 이거 두 개가 있어줘야 하는데

이미 cout을 while문안에 해줘서... < >

 이 괄호를 어디에 넣어야 할지 잘 모르겠다..

 

사실 지피티는 이걸 예상했는지

마지막 줄에 벡터를 또 만들고 거기 안에 넣어서 출력하라고 했다.

근데 나는 이미 넣어버려서 문제가 된 거 같다.

 

이왕 이렇게 한 거 이렇게 마무리하고 싶긴 한데..

양쪽에 붙였더니 문제가

마지막번호에도 따옴표가 출력되는 문제가 발생했다..

 

 

그래서 든 생각은..

조건을 달아서

 size가 하나일 때는 cout을 다른 걸 써주면 되지 않을까.. 했다.

 

 

짠!!!

사실

처음에 이렇게 해줬는데.. 이렇게 해주는 건 while문에 넣는 거라 굳이?라고 했다.

그래서 그냥 따로 써줬다.

 

완성!

 

악.........

엄마... 뭐라고요!?!?

저녁도 과메기라고요!?!??!?!

NOOOOOOOOOOOOOOOOOOOOOOOOOOOO