단어 길이 재기 (2743) 풀이
2023. 6. 15. 13:42ㆍBaekJoon/문자열
문제내용
사용자에게 문자열을 입력받아 문자열의 길이를 출력하는 문제이다.
풀이
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String s = br.readLine();
bw.write(String.valueOf(s.length()));
bw.flush();
bw.close();
}
}
사용자에게 문자열을 입력받기 위해 BufferedReader를 사용해 s를 입력받았다.
출력을 위해 BufferedWriter를 사용해 문자열에서 길이를 반환하는 메소드 length를 이용해 출력했다. 여기에서 관건은 문자열로써 출력을 한 것을 확인할 수 있는데 System.out.println(s.length());였다면 바로 길이를 반환했겠지만 BufferedWriter에서는 정수형이 넘어오면 아스키코드로 확인해서 변환을 시켜버리는 것을 확인 할 수 있다.그렇기에 꼭 정수같은 문자열이면 문자열임을 명시해줘야한다.
겪었던 내용
위에서 언급했듯이 출력을 바로 해서 아스키코드로 인식해 자동 변환이 되는 것을 모르고 분명 맞는 로직인데 원하는 결과값이 나오지 않아 헤맸다.... 구선생님(구글)께 여쭤보아 바로 해결했지만 이렇게 또하나의 지식을 얻어 간다..😂
'BaekJoon > 문자열' 카테고리의 다른 글
알파벳 찾기 (10809) 풀이 (0) | 2023.06.16 |
---|---|
숫자의 합 (11720) 풀이 (2) | 2023.06.16 |
아스키 코드 (11654) 풀이 (0) | 2023.06.16 |
문자열 (9086) 풀이 (0) | 2023.06.16 |
문자와 문자열 (27866) 풀이 (0) | 2023.06.15 |