알고리즘 단련장/소프티어

[소프티어] 비밀 메뉴 레벨2 (21년 재직자 대회 예선)

dcho 2024. 10. 31. 23:55
SMALL

https://softeer.ai/practice/6269

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

 

 

 

해당 문제는 어렵게 생각할 필요가 없는 문제다.

 

조건을 조금 걸어준 나열해 놓은 1,2,3,4 라는 리스트에서 1,2,3 이라는 비밀 순서가 들어있는지만 체크 해주면 끝!

 

 

정답 코드

import java.io.*;
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));

        StringTokenizer st = new StringTokenizer(br.readLine());

        int m = Integer.parseInt(st.nextToken());
        int n = Integer.parseInt(st.nextToken());
        int k = Integer.parseInt(st.nextToken());

        int[] secretManual = new int[m];
        int[] userButton = new int[n];

        boolean secretFlag = false;

        // secret 조작법 입력 받기
        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < m; i++) {
            secretManual[i] = Integer.parseInt(st.nextToken());
            if (secretManual[i] > k) return;
        }

        // 사용자 조작 버튼 입력 받기
        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            userButton[i] = Integer.parseInt(st.nextToken());
            if (userButton[i] > k) return;
        }

        // 사용자의 조작 버튼이 비밀 조작법 보다 클때만
        if (n >= m) {
            // 사용자의 조작 버튼이 비밀 조작법 검증 할 수 있는 정도 반복
            for (int i = 0; i < n - m + 1; i++) {
                int cnt = 0;
                int idx = i;
                for (int j = 0; j < m; j++) {
                    if (userButton[idx] == secretManual[j]) cnt++;
                    idx++;
                }
                if (cnt == m) {
                    secretFlag = true;
                    break;
                }
            }
        }
        if (secretFlag) bw.write("secret\n");
        else bw.write("normal\n");


        bw.flush();
        bw.close();
    }
}

 

항상 이런 문제 만나면 하~ 연속된 리스트 겁나 일일이 해야 해서 까다로운데 했지만 쉽게 생각하라는 동희 말에 순식간에 해결

레벨2 한문제 남았다,, 아자아자 할 수 있다.