문제 >> 1225. [S/W 문제해결 기본] 7일차 - 암호생성기

#include 

int main() {

	int tc=1;

	
	while (tc <= 10) {
		int pw[8] = { 0 ,};
		bool flag = false;
		scanf("%d", &tc);

		for (int i = 0; i < 8; i++) {
			scanf("%d", &pw[i]);
		}

		while (true) {

			for (int i = 1; i <= 5; i++) { //1 사이클
				int tmp = pw[0] - i;
				if (tmp <= 0) {
					tmp = 0;
					flag = true; // pw 완성
				}
				for (int j = 0; j < 7; j++) { //한칸씩 당기기
					pw[j] = pw[j + 1];
				}
				pw[7] = tmp;
				if (flag) break;
			}

			if (flag) break;

		}
		
		printf("#%d ", tc);
		for (int i = 0; i < 8; i++) {
			printf("%d ", pw[i]);
		}
		printf("\n");
		tc++;

	}


	return 0;
} 

문제에 주어진 대로 배열의 [0]번째 요소에서 해당 값만큼 감소시킨 후 tmp에 담아주고,
[1]번째 요소부터 마지막요소까지 한칸씩 당겨준 다음에 계산한 값을 맨뒤로 삽입해 주는 것을 반복했다.
testcase 개수는 10개로 제한.
input 파일에 값들이 testcase랑 배열 값이랑 공백으로 구분되어 있지 않으니 입력할 때 주의할 것.

+ Recent posts