250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)1225. [S/W 문제해결 기본] 7일차 - 암호생성기 본문
728x90
반응형
queue를 이용한 문제 풀이.
test case는 10개인데, 문제에 써져 있지 않으므로 주의하여 코딩하자.
우선 8개의 숫자를 int형 queue인 q에 담아주자.
그리고 q.front() - count > 0일 때까지 사이클을 돈다.
count는 1 ~ 5까지 빼는 수를 의미하므로, 6 이상이면 count = 1로 고쳐준다.
q.push(q.front() - count)를 해주고, pop을 하여 8개의 숫자를 유지해준다.
만약 q.front() - count <= 0이면 while문을 탈출하고
q의 마지막에 0을 push한다.
또한 q.pop을 하여 맨 앞의 숫자를 제거하여 8자리 암호를 유지한다.
#include <iostream>
#include <queue>
using namespace std;
int main(void)
{
for(int t = 1; t <= 10; t++)
{
int tmp, n, count = 1;
queue<int> q;
cin >> n;
for(int i = 0; i < 8; i++)
{
cin >> tmp;
q.push(tmp);
}
while(q.front() - count > 0)
{
q.push(q.front() - count);
q.pop();
count++;
if(count > 5)
count = 1;
}
q.push(0);
q.pop();
cout << "#" << t << " ";
while(!q.empty())
{
cout << q.front() << " ";
q.pop();
}
cout << endl;
}
return 0;
}
728x90
반응형
'SW Expert Academy' 카테고리의 다른 글
(SWEA c++)1229. [S/W 문제해결 기본] 8일차 - 암호문2 (0) | 2020.10.13 |
---|---|
(SWEA c++)1228. [S/W 문제해결 기본] 8일차 - 암호문1 (0) | 2020.10.13 |
(SWEA c++)1221. [S/W 문제해결 기본] 5일차 - GNS (0) | 2020.10.12 |
(SWEA c++)1220. [S/W 문제해결 기본] 5일차 - Magnetic (0) | 2020.10.12 |
(SWEA c++)1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (0) | 2020.10.12 |