https://school.programmers.co.kr/learn/courses/30/lessons/181878
문제
알파벳으로 이루어진 문자열 myString과 pat이 주어집니다. myString의 연속된 부분 문자열 중 pat이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요.
단, 알파벳 대문자와 소문자는 구분하지 않습니다.
소스코드
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
myString = myString.toLowerCase();
pat = pat.toLowerCase();
for(int i = 0; i <= myString.length()-pat.length(); i++){
if(myString.substring(i,i+pat.length()).equals(pat)){
answer += 1;
break;
}
}
return answer;
}
}
소스코드 설명
1. 기존 문자열들을 모두 소문자로 통일
2. substring을 사용해서 지정된 길이만큼 동일한지 확인후 answer 값 1로 변경
다른 사람들의 풀이를 봤는데 contains를 이용할 경우 코드 길이가 아주 간단해진다..
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
if(myString.toLowerCase().contains(pat.toLowerCase())) {
answer = 1;
}
return answer;
}
}
나도.. 열심히 해야겠다
'알고리즘' 카테고리의 다른 글
[프로그래머스] 코딩테스트 연습 - 배열 조각하기(JAVA) (0) | 2023.07.18 |
---|---|
[프로그래머스] 코딩테스트 연습 - n번째 원소까지(JAVA) (0) | 2023.07.17 |
[프로그래머스] 코딩테스트 연습 - 가까운 1 찾기(JAVA) (0) | 2023.07.11 |
[프로그래머스] 코딩테스트 연습 - 카운트 다운(JAVA) (0) | 2023.07.10 |
[프로그래머스] 코딩테스트 연습 - 5명씩(JAVA) (0) | 2023.07.09 |