프로그래머스 문제풀이/Level 0

문자열밀기 (자바, Java)

뮤츠 2022. 12. 14. 23:40

생각보다 좀 고전하면서 풀긴 했다. 아주 무식하게, 반복문 돌리면서 끊어서 비교함.

 

class Solution {
    public int solution(String A, String B) {
        int l = A.length();
        if (A.equals(B)) {
        	return 0;
        }
        for (int i=0; i<l-1; i++) {
        	StringBuilder sbA = new StringBuilder(A);
        	StringBuilder pull = new StringBuilder();
        	pull.append(sbA.substring(l-1-i)).append(sbA.substring(0, l-1-i));
        	if ((pull.toString()).equals(B)) {        	
        		return i+1;
        	}
        	System.out.println(pull);
        }
        return -1;
    }
}

 

그런데...답안에 진짜 괜찮은게 있었다.

class Solution {
    public int solution(String A, String B) {
        String tempB = B.repeat(2);
        return tempB.indexOf(A);
    }
}

답안에는 repeat(3)으로 되있었는데, 3번 반복할 필요성이 전혀 없어서 2로 고쳤다.

'프로그래머스 문제풀이 > Level 0' 카테고리의 다른 글

저주의 숫자 3 (자바, Java)  (0) 2022.12.16
치킨쿠폰 (자바, Java)  (0) 2022.12.14
다음에 올 숫자 (자바, Java)  (0) 2022.12.13
평행 (자바, Java)  (0) 2022.12.13
다항식 더하기 (자바, Java)  (0) 2022.12.11