rjh978   4년 전

안녕하세요..

소스코드를 실행시켰을때 시간초과가 나서  

 String[] str=bf.readLine().split("\\s+"); 를 String[] str=bf.readLine().split(" "); 로 수정했더니

에러가 나지 않았습니다..

\\s+ 에서 왜 시간 초과가 나는지 잘 모르겠습니다...

왜 그런건가요..?

nahwasa   4년 전

일단 \\s+ 로도 결국 공백으로 자르는 정규식이니 풀이 자체는 문제가 없습니다.

다만 정규식이다보니 아무래도 좀더 파싱에 시간이 걸리는듯하네요.

같은 기능으로, split보다 좀더 빠른 방식은

StringTokenizer를 사용하는 방식입니다.

StringTokenizer st = new StringTokenizer(bf.readLine())

Integer.parseInt(st.nextToken()) +  Integer.parseInt(st.nextToken())

이와같은 형식으로요.

댓글을 작성하려면 로그인해야 합니다.