강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

jkdev1324님의 프로필 이미지
jkdev1324

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

7. 교육과정설계

return "NO"를 바로 했을 때, 시간이 10ms 더 걸리는 이유?

작성

·

344

0

안녕하세요 선생님, 수업 잘 듣고 있습니다 :)
풀이와는 조금 다르게 풀어봤는데요.
return "NO"를 하면 바로 RETURN 이 되어서 시간이 더 줄어들 줄 알았는데, 채점을 해보니 ANSWER="NO"를 한 것보다 10ms 느리더라고요.
 
 
return 으로 바로 반환하는 게 항상 짧을 줄 알았는데, 왜인지 여쭈어도 될까요?
 
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

public class Main {

    public String solution(String given, String my){
        String answer = "YES";
        Queue q1 = new LinkedList();
        for (char x:given.toCharArray()){
            q1.offer(x);
        }

        Queue q2 = new LinkedList();
        for(char x:my.toCharArray()){
            q2.offer(x);
        }

        while(!q1.isEmpty() && !q2.isEmpty()){
            if (q2.peek()==q1.peek()){
                q2.poll();
                q1.poll();
            } else {
                q2.poll();
            }
        }

        if(!q1.isEmpty()) {
            answer = "NO";
        }

        return answer;
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Main T = new Main();
        Scanner sc = new Scanner(System.in);
        String given = sc.next();
        String my = sc.next();
        System.out.println(T.solution(given,my));

    }
}

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

그건 저도 잘 모르겠네요. 시간복잡도를 따질만한 문제는 아니라서 크게 신경쓰지 않아도 될 것 같습니다.

jkdev1324님의 프로필 이미지
jkdev1324

작성한 질문수

질문하기