본문 바로가기
Algorithm

Softeer <비밀메뉴>

by seungh2 2022. 5. 21.

Softeer <비밀메뉴>

https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=623 

 

Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai


비밀메뉴

회사 식당의 비밀 메뉴 조작법과 사용자의 버튼 조작이 주어졌을 때, 사자가 비밀 메뉴를 주문할 수 있는지 확인하여라.

 

입력으로 첫 줄에 비밀 메뉴 조작법의 길이, 사용자의 버튼 조작 길이와 버튼의 최댓값이 들어오고 그 다음 줄에 비밀 메뉴 조작법이, 그 다음 줄에 사용자의 버튼 조작이 들어온다.

 

출력으로 비밀 메뉴를 시킬 수 있다면 "secret"을 그렇지 않다면 "normal"을 출력한다.


문제 해결

입력으로 들어온 비밀 메뉴 조작법 secret과 사용자 버튼 조작 order의 길이가 길지 않기 때문에 사용자 버튼 조작 문자열을 차례대로 보며 비밀 메뉴 조작법이 있는지 확인했다.

 

  • order[i]가 secret[0]과 같다면 
    • order[i]를 시작으로 해서 secret 길이만큼 값이 없다면  "normal"을 반환한다.
    • secret-1만큼 order[i]의 다음 값이 secret의 값과 같다면 "secret"을 반환한다.

코드

import java.util.*;
import java.io.*;


public class Main
{
    public static void main(String args[]) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] inArr = br.readLine().split(" ");
        String[] secret = br.readLine().split(" ");
        String[] order = br.readLine().split(" ");
        int len_s = secret.length;
        int len_o = order.length;
        
        System.out.println(SecretOrder(secret, order));
        
        
    }
    public static String SecretOrder(String[] secret, String[] order){
        int len_s = secret.length;
        int len_o = order.length;
        for(int i = 0 ; i < len_o; i++){
            if(order[i].equals(secret[0])){
                if(i + len_s - 1 >= len_o){
                    return "normal";
                }
                boolean chk = true;
                for(int j = 1; j < len_s; j++){
                    if(order[i+j].equals(secret[j])){
                        continue;
                    }else{
                        chk = false;
                        break;
                    }
                }
                if(chk){
                    return "secret";
                }
            }
        }
        return "normal";
    }
}

결과


 

728x90

'Algorithm' 카테고리의 다른 글

SW Expert Academy <조교의 성적 매기기>  (0) 2022.05.23
Softeer <비밀메뉴2>  (0) 2022.05.21
Softeer <이미지 프로세싱>  (0) 2022.05.20
백준 1935번 <후위 표기식2>  (0) 2022.05.20
Softeer <마이크로서버>  (0) 2022.05.19

댓글