입출력 예
A | B | result |
"hello" | "ohell" | 1 |
"apple" | "elppa" | -1 |
"atat" | "tata" | 1 |
"abc" | "abc" | 0 |
입출력 예 설명
입출력 예 #1
- "hello"를 오른쪽으로 한 칸 밀면 "ohell"가 됩니다.
입출력 예 #2
- "apple"은 몇 번을 밀어도 "elppa"가 될 수 없습니다.
입출력 예 #3
- "atat"는 오른쪽으로 한 칸, 세 칸을 밀면 "tata"가 되므로 최소 횟수인 1을 반환합니다.
입출력 예 #4
- "abc"는 밀지 않아도 "abc"이므로 0을 반환합니다.
- 내 풀이
class Solution {
public int solution(String A, String B) {
int answer = 0;
// A 를 비교하는 문자열
String Acopy = A;
for (int i = 0; i < A.length(); i++) {
// 오른쪽으로 밀게 없으면 0
if (Acopy.equals(B)){
break;
}
// 마지막 글자만 가져옴
String word = Acopy.substring(A.length() - 1);
// 마지막 글자 + 비교문자열의 0번째부터 마지막에서 -1로 마지막 글자를 앞으로 보내주는 역할을 함
Acopy = word + Acopy.substring(0, A.length() -1);
// 한칸 밀었기 때문에 ++
answer++;
}
// 밀기만 하고 같은 문자가 없으면
if (answer == A.length()){
answer = -1;
}
return answer;
}
}
삽질 엄청 하다가 단순하게 글자 잘라서 붙이면 되는걸 뒤늦게 깨달음....
- 다른 사람 풀이
class Solution {
public int solution(String A, String B) {
String tempB = B.repeat(3);
return tempB.indexOf(A);
}
}
class Solution {
public int solution(String A, String B) {
return (B+B).indexOf(A);
}
}
'프로그래머스 > [프로그래머스 - JAVA] Lv.0' 카테고리의 다른 글
[프로그래머스 - JAVA] 다항식 더하기 (0) | 2023.03.18 |
---|---|
[프로그래머스 - JAVA] 저주의 숫자 3 (0) | 2023.03.17 |
[프로그래머스 - JAVA] 특이한 정렬 (0) | 2023.03.17 |
[프로그래머스 - JAVA] 유한소수 판별하기 (0) | 2023.03.16 |
[프로그래머스 - JAVA] 등수 매기기 (0) | 2023.03.16 |
댓글