GDCS 알고리즘 스터디 3주차(4/10) 활동 기록입니다.
3주차에는 큐를 이용한 간단한 문제인 카드2에 대한 풀이를 공유하였습니다.
문제 소개
문제 접근
카드 뭉치의 앞과 뒤만 접근한다는 점에서 큐를 떠올림
문제 풀이 로직
- 1번 카드가 맨 앞, N번 카드가 맨 뒤가 되는 큐를 하나 만든다.
- 최상단 카드는 그냥 pop하고 그 다음 최상단 카드는 pop하고 push한다.
- 큐의 size가 1이 될 때까지 2를 반복한다.
- 마지막 큐의 원소를 출력한다.
문제 풀이
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> cards;
int N;
int topCard;
cin >> N;
for(int i = 1; i <= N; i++){
cards.push(i);
}
while(cards.size() != 1){
cards.pop();
topCard = cards.front();
cards.push(topCard);
cards.pop();
}
cout << cards.front();
return 0;
};
더 좋은 접근 방법이나 풀이법이 있다면 언제든지 댓글 남겨주세요😊
본 활동 기록은 기록자가 풀이한 문제를 위주로 기술되었으며, 스터디 레포지토리에서 더 많은 문제 풀이를 확인해보실 수 있습니다.
'3-2기 스터디 > 알고리즘' 카테고리의 다른 글
[알고리즘 스터디] 6주차 활동 기록 (0) | 2022.05.19 |
---|---|
[알고리즘 스터디] 5주차 활동 기록 (0) | 2022.05.16 |
[알고리즘 스터디] 4주차 활동 기록 (0) | 2022.05.16 |
[알고리즘 스터디] 2주차 활동 기록 (0) | 2022.04.05 |
[알고리즘 스터디] 스터디 시작 및 1주차 활동 기록 (0) | 2022.04.03 |
댓글