노력만이 살길!/알고리즘
[JAVA][SWEA] 1225 암호생성기
갱스타
2022. 2. 8. 15:18
1. 1225. [S/W 문제해결 기본] 7일차 - 암호생성기
링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14uWl6AF0CFAYD
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
[제약 사항]
주어지는 각 수는 integer 범위를 넘지 않는다.
마지막 암호 배열은 모두 한 자리 수로 구성되어 있다.
[입력]
각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고, 그 다음 줄에는 8개의 데이터가 주어진다.
주어지는 각 수는 integer 범위를 넘지 않는다.
마지막 암호 배열은 모두 한 자리 수로 구성되어 있다.
[입력]
각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고, 그 다음 줄에는 8개의 데이터가 주어진다.
1
9550 9556 9550 9553 9558 9551 9551 9551
[출력]
#부호와 함께 테스트케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스의 답을 출력한다.
#1 6 2 2 9 4 1 3 0
2. 1225번 암호생성기 JAVA 문제풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main {
static Queue<Integer> q;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st=null;
int T;
// for(int t=1;t<=10;t++){
st= new StringTokenizer(br.readLine());
T = Integer.parseInt(st.nextToken());
st= new StringTokenizer(br.readLine());
q= new LinkedList<>();
for (int i = 0; i < 8; i++) {
q.add(Integer.parseInt(st.nextToken()));
}
recursive();
System.out.printf("#%d ", T);
for (Integer i : q) { // for문을 통한 전체출력
System.out.printf("%d ", i);
}
System.out.println();
//}
}
static void recursive() {
int temp;
for (int i = 1; i < 6; i++) {
temp = q.poll() - i;
if (temp <= 0) {
q.add(0);
return;
}else
q.add(temp);
}
recursive();
}
}