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

tyk0721님의 프로필 이미지
tyk0721

작성한 질문수

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

3. 문장 속 단어(indexOf(), substring())

3. 문장속단어 BufferedReader

작성

·

99

0

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class Main {

public static void main(String[] args) throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String[] arr = br.readLine().split(" ");

String tmp="";

for(String s:arr) {

if(s.length()>tmp.length()) tmp = s;

}

System.out.println(tmp);

}

}

BufferedReader 사용하면 결과가 pending이라고 뜨는데, 풀이가 잘못된 걸까요? 아님 BufferedReader사용때문에 그런걸까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

님의 질문에 대한 직접적인 대답은 제공된 정보에 없으므로, 질문하신 내용에 관련된 기술적인 설명으로 대신합니다.

BufferedReader를 사용하여 콘솔에서 입력을 받는 경우, 코드 자체에 문제가 없다면 ‘pending’ 상태는 입력 대기 상태일 가능성이 높습니다. 즉, 프로그램이 사용자로부터의 입력을 기다리고 있는 상황입니다. 여러분이 제공한 코드는 표준 입력으로부터 한 줄을 읽어 그줄에서 가장 긴 단어를 찾아 출력하는 로직을 담고 있습니다.

따라서 코드 실행 후 추가적인 입력 없이 바로 ‘pending’ 상태가 된다면, 이는 시스템이 사용자의 입력을 기다리고 있기 때문입니다. 사용자로부터 입력을 받고, 그 입력을 처리하기 위해 코드가 대기하고 있는 것입니다. 한 줄을 입력하고 엔터키를 누르면, 그 때 입력된 데이터를 바탕으로 가장 긴 단어를 출력하고 프로그램이 정상적으로 종료될 것입니다.

BufferedReader를 사용한 입력 대기 상태는 일반적인 동작이며, 이러한 특성은 입출력 처리를 할 때 고려해야 할 중요한 부분 중 하나입니다. 따라서, 코드에 문제가 없으며 입력을 제대로 처리하고 있는 상황에서 ‘pending’이라는 말이 나온다면, 추가적인 입력을 기다리는 정상적인 상태로 보시면 됩니다.

tyk0721님의 프로필 이미지
tyk0721
질문자

네감사합니다!

tyk0721님의 프로필 이미지
tyk0721

작성한 질문수

질문하기