[Softeer] Java - level2 문제풀이(비밀 메뉴)

2023. 2. 4. 08:00·개발자 세릴리/코딩테스트
728x90
반응형

softeer 비밀 메뉴(Java)

 

[문제]

회사 식당에는 전설처럼 전해 내려오는 비밀 메뉴에 대한 소문이 있다. 소문의 내용은 대강 이러하다.

식권 자판기의 버튼을 특정 순서대로 누르고 결제를 하면, 평소와는 다른 색깔의 식권이 나온다.

 

이 식권을 배식대에 제출하면, 어떤 비밀 메뉴를 받을 수 있다는 것이다. 물론 이를 실제로 본 사람은 아무도 없어서, 어떤 메뉴가 나오는지는 커녕 눌러야 하는 버튼의 순서조차 알려져 있지 않다.

 

주방장인 당신은 이 소문의 실체를 알고 있다. 이는 분명한 사실이다!

정해진 버튼 조작법을 사용하면 비밀 메뉴의 식권을 얻을 수 있다. 그러나 얼마 전 식권 자판기가 고장으로 교체되면서, 새 자판기에서는 비밀 메뉴 조작법이 작동하지 않게 되었다.

 

당신은 프로그래밍 실력을 살려, 사용자의 버튼 조작 중 비밀 메뉴 조작법이 포함되어 있는지를 판단하는 회로를 추가하려 한다.

 

자판기에는 총 K개의 버튼이 있다. 각 버튼마다 1부터 K까지 번호가 붙어 있어서, 조작 과정은 1 이상 K 이하의 정수 여러 개로 나타낼 수 있다.

비밀 메뉴 조작법은 M개의 버튼 조작으로 이루어져 있으며, 이 순서대로 버튼을 누르면 반드시 비밀 메뉴 식권이 발매된다. 이때, 이 조작법 앞뒤로 다른 버튼 조작이 있어도 비밀 메뉴로 인정된다.

 

사용자가 누른 N개의 버튼 조작이 주어질 때, 사용자가 비밀 메뉴 식권을 받을 수 있는지를 확인하는 프로그램을 작성하여라.

 

[제약조건]

1 ≤ K ≤ 9

1 ≤ M ≤ 100

1 ≤ N ≤ 100

각 버튼의 번호는 1 이상 K 이하이다.

 

[입력형식]

첫째 줄에 M, N, K가 공백을 사이에 두고 주어진다.

둘째 줄에 비밀 메뉴 조작법을 나타내는 M개의 정수가 공백을 사이에 두고 주어진다. 각 정수는 1 이상 K 이하이다.

셋째 줄에 사용자의 버튼 조작을 나타내는 N개의 정수가 공백을 사이에 두고 주어진다. 각 정수는 1 이상 K 이하이다.

 
[출력형식]

사용자가 비밀 메뉴 식권을 받을 수 있다면 secret을, 그렇지 않다면 normal을 첫째 줄에 출력한다.

 

[풀이]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String args[]) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");
        int M = Integer.parseInt(input[0]);
        int N = Integer.parseInt(input[1]);
        int K = Integer.parseInt(input[2]);

        String[] secretNumber = br.readLine().split(" ");
        String[] expectNumber = br.readLine().split(" ");

        boolean check = false;
        for(int i=0; i<N; i++) {
            if(expectNumber[i].equals(secretNumber[0])) {
                if(i+M <= N) {
                    check = true;
                    for(int j=0; j<M; j++) {
                        if(!expectNumber[j+i].equals(secretNumber[j])) {
                            check = false;
                        }
                    }
                    if(check == true) break;
                }

            }
        }
        if(check == true) {
            System.out.println("secret");
        } else {
            System.out.println("normal");
        }
        br.close();
    }
}
728x90
반응형

'개발자 세릴리 > 코딩테스트' 카테고리의 다른 글

[Softeer] Java - level2 문제풀이(전광판)  (0) 2023.02.10
[Softeer] Java - level2 문제풀이(회의실 예약)  (0) 2023.02.08
[Softeer] Java - level2 문제풀이(지도 자동 구축)  (0) 2023.02.03
[Softeer] Java - level2 문제풀이(장애물 인식 프로그램)  (0) 2023.01.29
[Softeer] Java - level2 문제풀이(8단변속기)  (0) 2023.01.28
'개발자 세릴리/코딩테스트' 카테고리의 다른 글
  • [Softeer] Java - level2 문제풀이(전광판)
  • [Softeer] Java - level2 문제풀이(회의실 예약)
  • [Softeer] Java - level2 문제풀이(지도 자동 구축)
  • [Softeer] Java - level2 문제풀이(장애물 인식 프로그램)
세릴리
세릴리
  • 세릴리
    세리의 데이터베이스 세상
    세릴리
  • 전체
    오늘
    어제
    • 분류 전체보기 (87)
      • 개발자 세릴리 (65)
        • 비전공자 한 입 지식 (12)
        • 코딩테스트 (24)
        • 스펙업 (15)
        • JAVA (5)
        • 일상 (9)
      • 파이어족 세릴리 (21)
        • 블로그 운영 (3)
        • 각종 양식 공유 (1)
        • 돈되는 정보 공유 (17)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    비전공 개발자
    현대오토에버 코딩테스트
    adsp 자료
    이슈
    adsp 독학
    개발자되는법
    오늘 이슈
    adsp 수험표
    Java 문제
    java 공부
    softeer java 풀이
    adsp 벼락치기
    명품자바프로그래밍 정답
    현대자동차 코딩테스트
    백준
    개발자 이직
    adsp 공부법
    현대 코딩테스트
    JAVA 개발공부
    프로그래밍 공부
    현대오토에버 코테
    개발자 공부
    현대 코테
    비전공자 개발
    현대모비스 코딩테스트
    명품자바프로그래밍 해설
    명품자바프로그래밍
    JAVA 책 추천
    Softeer 문제 풀이
    비전공자 개발자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
세릴리
[Softeer] Java - level2 문제풀이(비밀 메뉴)
상단으로

티스토리툴바