SWEA1225 암호생성기

·2022년 4월 18일
0

SWEA 알고리즘

목록 보기
10/29

큐를 이용해, poll() 한 값을 조건에 맞게 감소시킨 후, offer() 해주면 된다.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;

public class Solution {
	static BufferedReader br;
	static BufferedWriter bw;
	static StringTokenizer st;
	Queue<Integer> q;
	
	public static void main(String[] args) throws IOException {
		
		br = new BufferedReader(new InputStreamReader(System.in));
		bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int T = 10;
		for(int tc = 1; tc <= T; tc++) {
			br.readLine();
			st = new StringTokenizer(br.readLine(), " ");
			Queue<Integer> q = new LinkedList<>();
			for(int i = 0; i < 8; i++) {
				q.offer(Integer.parseInt(st.nextToken()));
			}
			int i = 1;
			while(true) {
				int tmp = q.poll() - i++;
				if(i > 5) i = 1;
				if(tmp <= 0) {
					tmp = 0;
					q.offer(tmp);
					break;
				}else {
					q.offer(tmp);
				}
			}
			
			bw.write(String.format("#%d", tc));
			for(int x : q) {
				bw.write(String.format(" %d", x));
			}
			bw.write("\n");
			
		}
		bw.flush();
		bw.close();
	}
	
}
profile
SSAFY 7기

0개의 댓글