본문 바로가기
백준

백준 13417 카드 문자열

by 콩순이냉장고 2021. 11. 25.

문제 URL  : https://www.acmicpc.net/problem/13417

 

13417번: 카드 문자열

입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각각의 테스트 케이스의 첫째 줄에 처

www.acmicpc.net

 

문제 접근법 : 

Deque를 이용하는 문제입니다. dq를 이용하면 바로 문제 조건대로 구현만하면 되는 문제이니

크게 설명은 필요없을것같습니다.

 

java에서 풀었찌만 java에서 deque가 인덱스 접근을 할수없다는것을 처음알게됐네요

약간 풀면한 감이 있긴합니다.

 

소스코드 : 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Deque;
import java.util.StringTokenizer;
 
public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        int t=Integer.parseInt(br.readLine());
        for(int test=0;test<t;test++) {
            int n=Integer.parseInt(br.readLine());
            StringTokenizer st = new StringTokenizer(br.readLine());
            Deque<String> dq=new ArrayDeque<>();
            dq.addFirst(st.nextToken());
            for(int i=1;i<n;i++) {
                String s= st.nextToken();
                if(dq.getFirst().compareTo(s)<0) {
                    dq.addLast(s);
                }
                else
                    dq.addFirst(s);
            }
            for(String res:dq) {
                bw.write(res);
            }
            bw.write("\n");
        }
        br.close();
        bw.close();
    }
}
 
cs

궁금한점 혹은 모르는점 어떤 질문이든 댓글은 언제나 환영입니다.

 

 

 

'백준' 카테고리의 다른 글

백준 1244 스위치 켜고 끄기  (0) 2021.11.25
백준 18310 안테나  (0) 2021.11.25
백준 17089 세 친구  (0) 2021.11.25
백준 4991 로봇 청소기  (0) 2021.11.19
백준 1561 놀이 공원  (0) 2021.11.17