728x90
반응형
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
int n;
int arr[9];
int retIdx;
struct Screat {
Screat() {
int t;
while (cin >> t) {
init();
for (int i = 0; i < 8; i++) {
scanf("%d",&arr[i]);
}
arrCircle();
printf("#%d ", t);
int cnt = 0;
for (int i = 0; i < 8; i++) {
printf("%d ", arr[retIdx++]);
if (retIdx == 8)retIdx = 0;
}
printf("\n");
}
}
void init() {
memset(arr, 0, sizeof(arr));
retIdx = 0;
}
void arrCircle() {
int num = 1;
int flag = 0;
while (1) {
for (int i = 0; i < 8; i++) {
arr[i] -= num;
if (arr[i] <= 0) {
arr[i] = 0;
retIdx = i;
retIdx++;
if (retIdx == 8)retIdx = 0;
return;
}
num++;
if (num == 6)num = 1;
}
}
}
}Screat;
int main(void) {
return 0;
}
암호 생성기 방식이 1 - 5까지 빼주면서 뒤로 보내는것인데 굳이 그럴필요가 없다 이방식만 알고 있다면 쉽게 구현이
가능합니다. 그것에 대해서 설명해 드리자면 그냥 무한 반복을 시켜서 1-5 까지 순서대로 돌아가면서 빼줍니다
그러니까
0 1 2 3 4 5 인 배열이 있을때
-1 -2 -3 -4 -5 -1
-2 -3 -4 -5 -1 -2
계속 무한 반복을 시키고 탈출 조건을 0이되는 값이 나오는 시점으로 잡고
그곳이 위의 예제에서 2가 0이됬으면 3의 값을 리턴을 해주고 3 4 5 0 1 2 를 출력하면됩니다.
이렇게 듣고 보니 쉽지 않나요 위의 구현정도는 가볍게 해주셔야 합니다. 처음은 어려울 수 있지만 알고리즘은 끈기와 노력아니겠습니까?
오늘은 여기까지이고 여러분들도 더 쉽게 도전해보세요 !!!
728x90
반응형
'알고리즘 모음집 > 알고리즘 (Algorithm)' 카테고리의 다른 글
1952. [모의 SW 역량테스트] 수영장 (0) | 2020.02.29 |
---|---|
1258 행렬찾기 (0) | 2020.02.27 |
1486 장훈이의 높은 선반 알고리즘 (0) | 2020.02.27 |
[모의 SW 역량테스트] 원자 소멸 시뮬레이션 (0) | 2019.12.20 |
[모의 SW 역량테스트] 무선 충전 (0) | 2019.12.07 |
댓글