728x90
프로그래머스 _ 코딩 기초 트레이닝 DAY 17 - (1)
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/181872
문제 | 문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.
입력 #1 | myString : "AAAAaaaa" pat : "a"
출력 #1 | "AAAAaaaa"
>> 풀이 <<
pat이 myString에서 어디에 있는지 인덱스를 찾아주면 되는데, 가장 긴 부분 문자열을 찾아야 하므로 뒤에서부터 찾아야 한다! 인덱스를 받아서 그 부분까지 String을 잘라주면 된다고 생각하고 풀이를 시작했다.
- 원하는 문자열 찾기 - string.indexOf(), string.lastIndexOf()
- string.indexOf(원하는 문자 또는 문자열)은 인수로 넣은 문자나 문자열의 index를 리턴해주는 메소드이다. indexOf()는 문자열을 앞에서부터 찾아준다.
- string.lastIndexOf()는 인수를 뒤에서부터 찾아준다. 그래서 나는 이 메소드를 사용했다.
- 문자열 자르기 - string.substring()
- string.substring(시작인덱스, 끝인덱스)는 입력한 인덱스 부분만 잘라내주는 메소드이다.
- 시작 인덱스를 입력하지 않으면 0부터 시작하고, 끝인덱스는 반드시 원하는 부분 + 1 만큼을 입력해야한다.
코드는 아래와 같다.
class Solution {
public String solution(String myString, String pat) {
String answer = "";
int a = myString.lastIndexOf(pat);
return myString.substring(0,a + pat.length());
}
}
'코딩테스트 > 프로그래머스 Lv.0' 카테고리의 다른 글
[프로그래머스] 문자열 잘라서 정렬하기 - JAVA (0) | 2023.10.09 |
---|---|
[프로그래머스] 공백으로 구분하기2 (trim(), 정규표현식) - JAVA (0) | 2023.09.14 |
[프로그래머스] A 강조하기 (string.replace) - JAVA (0) | 2023.09.13 |
[프로그래머스] 길이에 따른 연산 (IntStream, stream.reduce) - JAVA (0) | 2023.09.13 |
[프로그래머스] n개 간격의 원소들 (Math클래스) - JAVA (0) | 2023.08.30 |