Java/Java 알고리즘

백준 25183번 인생은 한 방 JAVA 구현해보기

kimc 2022. 5. 28. 14:54

```

백준 25183번 인생은 한 방 JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1. 백준 25183번 풀이

https://www.acmicpc.net/problem/25183

 

25183번: 인생은 한 방

문자열 $S$의 부분 문자열이란, 문자열의 연속된 일부를 의미한다. 

www.acmicpc.net

 

백준 25183번 인생은 한 방은

난이도 브론즈 등급의 문제로서

 

문자열이 주어질 때

해당되는 문자열에 5개 이상의 연속된 차이가 1인 문자가 있는지 확인해주는 문제입니다.


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


문자열을 입력받아서

캐릭터 배열로 변경한 다음

하나씩 돌면서

연속된 문자가 있는지 확인해주었습니다

 

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

public class Main {

    static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {
        final String input01 = br.readLine();
        final String input02 = br.readLine();
        System.out.print(solve(input02));
    }

    private static String solve(String input02) {

        // consecutive neighboring character count
        int neighborCount = 1;
        // temp variable for holding previous character
        char prevCh = '0';

        for (char ch : input02.toCharArray()) {

            if ((ch == (prevCh + 1)) || (ch == (prevCh - 1))) {
                neighborCount++;
            } else {
                neighborCount = 1;
            }

            if (neighborCount == 5) {
                break;
            }
            prevCh = ch;

        }
        return (neighborCount == 5) ? "YES" : "NO";
    }

}

//codemasterkimc.tistory.com [김씨의 코딩 스토리]

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90