Parindromize 문의 드려요

  • 천재곰돌이
    천재곰돌이

    알고리즘 공부를 시작한 초보자입니다.
    아래와 같이 팰린드롬을 작성했는데. 시간 초과라고 떠서요.

    이것저것 찾아보니. 자바랑 C랑 속도 차이가 상당하다고 하는데
    이게 정말 언어 특성인지..

    아님 제가 알고리즘 작성한 부분에 속도를 많이 먹는 부분이 잇는지 조언 부탁드려요.

    import java.util.Scanner;

    public class Main {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int cases = sc.nextInt();

    for(int i = 0 ; i < cases ; i++ ) {
            String targetString =  sc.next();
            if(targetString.length() == 1 ) {
                System.out.println(targetString.length());
                continue; 
            }
    
            for(int j = 1 ; j < targetString.length()  ; j++){
                String temp = targetString;             
                temp = temp + new StringBuffer(targetString.substring(0, j )).reverse().toString();
    
                String reverseString = new StringBuffer(temp).reverse().toString();
                if(reverseString.equals(temp)) {
                    System.out.println(temp.length());
                    break;
                }
            }
        }
    
    }

    }


    3년 전
1개의 댓글이 있습니다.
  • Signin
    Signin

    -네, 직접 모든 팰린드롬을 하나하나 만들어보면서 팰린드롬인지 확인하는 알고리즘으로는 이 문제를 시간 내에 푸실 수 없습니다.

    • 소스 코드가 포함된 글을 올려주실 때는, 글쓰기 화면 아래에 있는 마크다운 문법을 참조하셔서 구문을 강조해주시면 좋을 것 같습니다 :)


    3년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.