[SWEA] #1225 암호생성기

KwonSC·2021년 11월 12일
0

SWEA - Java

목록 보기
16/26
post-thumbnail

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14uWl6AF0CFAYD&categoryId=AV14uWl6AF0CFAYD&categoryType=CODE


Code

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;

class Solution {
    public static void main(String args[]) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        for (int testCase = 1; testCase <= 10; testCase++) {
            StringTokenizer st = new StringTokenizer(br.readLine(), "");
            st.nextToken();
            st = new StringTokenizer(br.readLine(), " ");
            Queue<Integer> queue = new LinkedList<>();
            while (st.hasMoreTokens()){
                queue.offer(Integer.parseInt(st.nextToken()));
            }
            boolean flag = true;
            while (flag) {
                for (int i = 1; i <= 5; i++) {
                    int x = queue.poll();
                    if (x - i > 0) {
                        queue.offer(x - i);
                    }
                    else{
                        queue.offer(0);
                        flag = false;
                        break;
                    }
                }
            }
            System.out.printf("#%d ", testCase);
            while (!queue.isEmpty()) {
                System.out.printf("%d ", queue.poll());
            }
            System.out.println();
        }
    }
}

Solution

flag를 true로 설정해놓은다음 while문을 돌려 그안에서 for문으로 한 사이클을 돌린다.
현재값을 큐에서 poll하여 현재값 - i가 0보다 크면 큐에 다시 x - i를 offer하고 아니라면 큐에 0을 offer한 다음 flag를 false로 변경, break를 하게되면 암호가 완성된다.

0개의 댓글

관련 채용 정보