[Java] 프로그래머스 문자열안에 문자열

2023. 2. 1. 13:44알고리즘

728x90

문제 설명

문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ str1의 길이 ≤ 100
  • 1 ≤ str2의 길이 ≤ 100
  • 문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.

입출력 예

입출력 예 설명

입출력 예 #1

  • "ab6CDE443fgh22iJKlmn1o" str1에 str2가 존재하므로 1을 return합니다.

입출력 예 #2

  • "ppprrrogrammers" str1에 str2가 없으므로 2를 return합니다.

입출력 예 #3

  • "AbcAbcA" str1에 str2가 없으므로 2를 return합니다.

코드 설명

import java.util.Scanner;

public class Solution {
	public int solution(String str1, String str2) {
        int answer = 0;
        
//        int A = str1.indexOf(str2); // str1 안에 str2 문자열이 어디에 있는지 indexOf로 찾았고
//        
//        if (A > -1) { // -1 보다 크면(-1 이면 못찾았기 때문) 1을 return 해줌
//        	answer = 1;
//        }
//        else { // -1 이면 2 return
//        	answer = 2;
//        }
        
//        if (str1.contains(str2)) { // contains() 함수는 대상 문자열에 특정 문자열이 포함되어 있는지 확인하는 함수이다.
//        	answer = 1; // str1 안에 str2 문자열이 포함 되어 있으면 true 없으면 false
//        }
//        else {
//        	answer = 2;
//        }
        
        answer = (str1.contains(str2) ? 1 : 2); // 3항 연산자를 사용하여 한줄로 줄여줄 수 있다.
        
        return answer;
    }
	public static void main(String[] args) {
		Solution T = new Solution();
		Scanner sc = new Scanner(System.in);
		String str1 = sc.next();
		String str2 = sc.next();
		System.out.println(T.solution(str1, str2));
		sc.close();
	}
}
728x90