[프로그래머스] 문자열 밀기 - Java

Yunki Kim·2023년 1월 12일
0

프로그래머스

목록 보기
97/101
post-thumbnail

문제


링크


코드

풀이 1.

class Solution {
    public int solution(String A, String B) {
        int count = 0;

        String word = A;
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < A.length(); i++) {
            if (word.equals(B)) return count;
            sb.append(word.substring(word.length() - 1))
                    .append(word, 0, word.length() -1);
            word = sb.toString();
            sb.setLength(0);
            count++;
        }
        return -1;
    }
}

풀이 2.

class Solution {
    public int solution(String A, String B) {
        return (B + B).indexOf(A);
    }
}

리뷰

첫번째 풀이방식은 반복문을 돌며 substring()을 통해 단어의 맨뒤를 잘라 새로운 단어의 맨 앞에 붙이고 나머지 단어를 뒤에 이어붙혀 한 칸씩 이동하는 새로운 단어를 만들어주며 B와 같은 값이 나오는지 확인한다.

두번째 풀이방식은 풀고나서 보게된 풀이방법인데 이렇게 간단한 방법이 있을 줄은 생각못했다 😳

0개의 댓글