문자열안에 문자열
https://school.programmers.co.kr/learn/courses/30/lessons/120908
1) 문제
문자열 str1, str2가 매개변수로 주어집니다.
str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ str1의 길이 ≤ 100
1 ≤ str2의 길이 ≤ 100
문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.
2) 예시
Result Table
str1 |
str2 |
result |
"ab6CDE443fgh22iJKlmn1o" |
"6CD" |
1 |
"ppprrrogrammers" |
"pppp" |
2 |
"AbcAbcA" |
"AAA" |
2 |
입출력 예 #1
"ab6CDE443fgh22iJKlmn1o" str1에 str2가 존재하므로 1을 return합니다.
입출력 예 #2
"ppprrrogrammers" str1에 str2가 없으므로 2를 return합니다.
입출력 예 #3
"AbcAbcA" str1에 str2가 없으므로 2를 return합니다.
3) 풀이
1. 클래스 선언을 해줍니다
● class Solution {
클래스명은 대문자로 시작해야하고, 정답이라는 의미로 Solution이라는 단어를 사용하였습니다.
2. 메소드 선언을 해줍니다.
● public int solution(String str1, String str2){
문자열(String) str1, str2를 매개변수로 사용하는 solution 메소드를 선언해줍니다.
메소드의 결과값인 solution은 정수로 나오므로, 데이터 타입을 int로 해줍니다.
3. 제한사항을 만족하는지 여부를 if문으로 확인하고, 그렇지 않을 경우 예외처리합니다.
제한사항이 만족한다면, str1 문자열에 str2문자열이 포함되어있는지 여부를 확인하고,
포함되어있다면 1을 return, 포함되어있지않다면 2를 return 해줍니다.
● if (1 <= str1.length() && str1.length() <= 100 && 1 <= str2.length() && str2.length() <= 100) {
if (str1.contains(str2)) {
return 1;
} else {
return 2;
}
} else {
throw new IllegalArgumentException("제한사항을 확인해주세요");
}
}
}
※ 문자열.contains("Hellow World")
문자열 안에 ()안의 내용이 포함되어있는지 확인하기 위해서 contains 메소드를 사용해주면 됩니다.
예시) String str = "Hello, World!";
boolean result = str.contains("World");
System.out.println(result); // 출력: false
4) 코드
class Solution {
public int solution(String str1, String str2) {
if (1 <= str1.length() && str1.length() <= 100 && 1 <= str2.length() && str2.length() <= 100) {
if (str1.contains(str2)) {
return 1;
} else {
return 2;
}
} else {
throw new IllegalArgumentException("제한사항을 확인해주세요");
}
}
}