해커랭크 챌린지
[hackerrank] hackerrank challenges Day 16 자바 코드 리뷰
dandev
2022. 7. 9. 11:23
반응형
16일차 코드 리뷰를 진행해보자.

16일 문제는 입력받은 문자열이
int형이면 int값을 출력시키고
string이면 Bad String 문자열을
출력시키는 문제였다.
입력 받는 코드는 문제에서 제공해주었고
우리는 try-catch를 이용하기만 하면 되었다.
처음에 NumberFormatException 예외를 몰랐어서
IOException을 사용했다가 컴파일 에러가 났다..
(IOException은 뭔가 만병통치약처럼 웬만한 에러를 잡아주는 줄 알앗다. 😂)
그래서 인터넷에서 exception 종류를 검색해서
NumberFormatException을 알게 되었고
코드를 제출하니 정답이 맞았다!!
입력을 String으로 받기 때문에
'입력받은 값이 숫자라면..'
이라는 조건이 필요한데 그 조건을
int 변수를 만들어 Integer.parseInt로 parsing 해줬다.
만약 숫자를 입력받았으면
int로 parsing이 되었을 것이고
string이라면 int로 parsing이 안 될 것이기 때문에
catch로 이동할 것이라고 생각했다!!
그 외에는 딱히 문제를 풀면서
어려움은 없었을 것이다.
따라서 전체 소스코드를 첨부한다.
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String S = bufferedReader.readLine();
bufferedReader.close();
try {
int num = Integer.parseInt(S);
System.out.println(num);
} catch(NumberFormatException e) {
System.out.println("Bad String");
}
}
}
그 외에는 딱히 어려움은 없었을 것이라 생각한다.
벌써 16일 챌린지이다!!
절반 이상 왔으니 끝까지 포기하지 말고 달리자 🔥
그럼 우리는 내일 17일 챌린지로 다시 만나자.
반응형