코드굽는 타자기

SWEA[1225] - 암호생성기[D3] 본문

알고리즘/스택&큐

SWEA[1225] - 암호생성기[D3]

bright-jun 2020. 2. 3. 14:11

링크

SWEA[1225]

문제설명

  • Queue

문제풀이

  • Queue

문제코드

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

public class Solution1225 {
    public static void main(String args[]) throws Exception
    {
        System.setIn(new FileInputStream("res/swea/1225.txt"));
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = 10;
        for(int test_case = 1; test_case <= T; test_case++)
        {
            Queue<Integer> q = new LinkedList<>();

            br.readLine().trim();
            StringTokenizer st = new StringTokenizer(br.readLine()," ");
            for (int i = 0; i < 8; i++) {
                q.offer(Integer.parseInt(st.nextToken()));
            }
            //System.out.println(q.toString());
            int temp=0;
            top:
            while(true) {
//                1 cycle
                for (int i = 1; i <= 5; i++) {
                    temp = q.poll();
                    temp -=i;
                    if(temp<=0) {
                        temp=0;
                        q.offer(temp);
                        break top;
                    }
                    q.offer(temp);
                }
            }
            System.out.print("#"+test_case+" ");
            for (int i = 0; i < 8; i++) {
                System.out.print(q.poll()+" ");
            }
            System.out.println();
        }
    }
}

아쉬운점

  • 문제 제약사항을 잘못읽음
    • 0보다 작으면 멈춘다고하였다가 0이하일경우 멈춘다고되어있었음. 답은 0 이하인 경우로 풀 때임
  • Queue는 인덱스로 접근을 할 수 가 없어서 프린트할 때 poll()함.

잘한점

  • Queue 공부함
  • Buffer Tokenizer로 한줄에 여러개 받는 방법 공부함
  • 사이클이 5가 아니라 8이었으면 queue안써도 되는 풀이 생각할 수 있었는데 아니어서 그냥 안함.

'알고리즘 > 스택&큐' 카테고리의 다른 글

SWEA[1229] - 암호문2[D3]  (0) 2020.02.04
SWEA[1228] - 암호문1[D3]  (0) 2020.02.03
Jungol[1141] - 불쾌한 날(Bad Hair Day)  (0) 2020.02.03
SWEA[1218] - 타일 장식물[D4]  (0) 2020.01.31
Comments