-
#1225. [S/W 문제해결 기본] 7일차 - 암호생성기Code/swea 2019. 12. 25. 23:27728x90반응형
출처: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14uWl6AF0CFAYD
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
알고리즘 순서
첫 번째 숫자를 1 감소한 뒤, 맨 뒤로 보낸다.
다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번째 수는 3을 감소하고 맨 뒤로,
그 다음 수는 4, 그 다음 수는 5를 감소한다.
이와 같은 작업을 한 사이클이라 한다.
숫자가 감소할 때 0보다 작아지는 경우 0으로 유지되며, 프로그램은 종료된다.
이 때의 8자리의 숫자 값이 암호가 된다.소스코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters// #s 1225 암호생성기 #include <iostream> #include <cstring> using namespace std; #define endl '\n' #define n 8 int main() { for (int t = 1; t <= 10; t++) { int test; cin >> test; int arr[8]; for (int i = 0; i < n; i++) { //-8개의 숫자를 입력 받는다. cin >> arr[i]; } int cnt = 1; while (true) { int temp = arr[0] - cnt; for (int i = 0; i < n-1; i++) { arr[i] = arr[i + 1]; } arr[n - 1] = temp; if (arr[n - 1] <= 0) { arr[n - 1] = 0; break; } //- 첫 번째 숫자를 1 감소한 뒤, 맨 뒤로 보낸다. //다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번째 수는 3을 감소하고 맨 뒤로, //그 다음 수는 4, 그 다음 수는 5를 감소한다. //이와 같은 작업을 한 사이클이라 한다. //- 숫자가 감소할 때 0보다 작아지는 경우 0으로 유지되며, 프로그램은 종료된다. //이 때의 8자리의 숫자 값이 암호가 된다. if (cnt == 5)cnt = 0; cnt++; } cout << "#" << t << " "; for (int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; } } 728x90반응형'Code > swea' 카테고리의 다른 글
#1220. [S/W 문제해결 기본] 5일차 - Magnetic (0) 2020.03.12 #2383. [모의 SW 역량테스트] 점심 식사시간 (0) 2020.02.09 #5644. [모의 SW 역량테스트] 무선 충전 (0) 2020.01.03 #3752. 가능한 시험 점수 (0) 2019.12.31 #1209. [S/W 문제해결 기본] 2일차 - sum (0) 2019.12.25