코린이의 소소한 공부노트

[백준 온라인 저지] 28290. 안밖? 밖안? 계단? 역계단? 본문

코딩테스트 풀이/JAVA

[백준 온라인 저지] 28290. 안밖? 밖안? 계단? 역계단?

무지맘 2023. 7. 18. 21:18

평소 리듬게임을 즐겨하는 대소고 친구들은 서로 다른 타법을 가지고 있다. 타법은 안밖, 밖안, 계단, 역계단이 있다. 문자열 항목은 각 타법에서 나올 수 있는 문자열을 의미한다.

다른 친구가 입력한 문자를 보고 무슨 타법으로 쳤는지 알아보자.

 

1. 입력

- 길이가 8인 문자열 S가 주어진다.

- 문자열 S는 각 문자 a, s, d, f, j, k, l, ;가 정확히 한 번씩 등장한다.

 

2. 출력

- 출력은 입력에 따라 결정된다.

- 입력이 안밖인 경우: "in-out"

- 입력이 밖안인 경우: "out-in"

- 입력이 계단인 경우: "stairs"

- 입력이 역계단인 경우: "reverse"

- 만약 입력이 안밖, 밖안, 계단, 역계단 중 하나도 아니라면 "molu"를 출력한다.

 

3. 예제

 

4. 코드

import java.util.*;
import java.io.*;
class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        String[] str = {"fdsajkl;", "asdf;lkj", "asdfjkl;", ";lkjfdsa", "jkl;fdsa", ";lkjasdf"};
        String[] type = {"in-out", "out-in", "stairs", "reverse"};
        String ans = "molu";
        for(int i=0 ; i<6 ; i++){
            if(input.equals(str[i])){
                ans = type[i%4==0 ? 0 : i%4];
                break;
            }
        }
        System.out.print(ans);
    }
}

- 14204KB, 124ms