mun dev

[COS PRO 1급] 3-4 중복 문자열 이어붙이기 자바(Java) 본문

알고리즘/COS PRO 1급

[COS PRO 1급] 3-4 중복 문자열 이어붙이기 자바(Java)

mndev 2023. 11. 28. 22:43

문제링크

 

구름HOME

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

문제유형

solution 함수 작성

 

문제 풀이

// 다음과 같이 import를 사용할 수 있습니다.

import java.util.*;

class Main {
    public int solution(String s1, String s2) {
        // 여기에 코드를 작성해주세요.;
        int result = Math.min(strlen(s1, s2), strlen(s2, s1));
        return result;
    }

    public static int strlen(String s1, String s2) {
        int strLength = Integer.MAX_VALUE;
        String tmpS1 = s1, tmpS2 = s2;
        String firstStr = "", secondStr = "";

        for (int i = 0; i < s1.length(); i++) {
            firstStr += s1.charAt(i);

            if (s2.contains(firstStr)) {
                secondStr = s2.substring(s2.length() - firstStr.length());
                if (firstStr.equals(secondStr)) {
                    tmpS1 = tmpS1.substring(firstStr.length(), s1.length());
                    strLength = tmpS1.length() + tmpS2.length();
                    break;
                } else continue;
            }
        }
        return strLength;
    }
    
       // 아래는 테스트케이스 출력을 해보기 위한 main 메소드입니다.
    public static void main(String[] args) {
        Main sol = new Main();
        String s1 = new String("ababc");
        String s2 = new String("abcdab");
        int ret = sol.solution(s1, s2);
        
        // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
        System.out.println("solution 메소드의 반환 값은 " + ret + " 입니다.");
    }
}