반응형
[프로그래머스] Java 코딩테스트 연습 - 접미사인지 확인하기
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/181908
문제
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return하는 solution 함수를 작성해주세요.
풀이
접미사의 길이가 단어의 길이보다 길 수 없기 때문에 if문으로 is_suffix의 길이가 my_string의 길이와 같거나 짧을 경우만 골라내도록 했다.
my_string과 같거나 짧은 is_suffix 길이 값을 suffixLength 변수에 저장.
substring() 메서드를 이용하여 접미사의 길이만큼의 부분 문자열을 추출하여 문자열 변수인 suffix에 저장.
if문으로 suffix가 is_suffix와 같으면 1을, 다르면 0을 answer에 저장하도록 했다.
소스코드
class Solution {
public int solution(String my_string, String is_suffix) {
int answer = 0;
// is_suffix의 길이가 my_string보다 짧거나 같은 경우에만 접미사가 될 수 있음.
if (is_suffix.length() <= my_string.length()) {
int suffixLength = is_suffix.length();
String suffix = my_string.substring(my_string.length() - suffixLength);
if (suffix.equals(is_suffix)) {
answer = 1;
} else {
answer = 0;
}
}
return answer;
}
}
다른 풀이
class Solution {
public int solution(String my_string, String is_suffix) {
if(my_string.endsWith(is_suffix)) {
return 1;
} else {
return 0;
}
}
}
새로 알게 된 endsWith() 메서드.
메서드를 많이 알면 참 편하겠다,,
반응형
'코딩테스트연습 > [프로그래머스] Java' 카테고리의 다른 글
[프로그래머스] Java 코딩테스트 연습 - qr code (4) | 2023.06.18 |
---|---|
[프로그래머스] Java 코딩테스트 연습 - 접두사인지 확인하기 (2) | 2023.06.17 |
[프로그래머스] Java 코딩테스트 연습 - 더 크게 합치기 (2) | 2023.06.16 |
[프로그래머스] Java 코딩테스트 연습 - 문자열 곱하기 (2) | 2023.06.16 |
[프로그래머스] Java 코딩테스트 연습 - 문자열 곱하기 (4) | 2023.06.12 |