[기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기
문제 설명
주민번호는 다음과 같이 구성된다.
XXXXXX-XXXXXXX
앞의 6자리는 생년월일(yymmdd)이고 뒤 7자리는 성별, 지역, 오류검출코드이다.
주민번호를 입력받아 형태를 바꿔 출력해보자.
풀이
Scanner + System.out.printf() 풀이
코드 길이:328 byte(s) / 수행 시간:177 ms / 메모리 :14352 kb
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String residentNum = sc.next();
String[] residentNumArr = residentNum.split("\\-");
System.out.printf("%s%s",residentNumArr[0],residentNumArr[1]);
}
}
BufferedReader + BufferedWrtier 풀이
코드 길이:412 byte(s) / 수행 시간:33 ms / 메모리 :11148 kb
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String identity = br.readLine();
bw.write(identity.replace("-",""));
bw.flush();
bw.close();
}
}
위의 두 풀이를 비교하면 BufferedReader + BufferedWrtier를 사용하였을 때 코드는 더 길어지나 수행 시간이 훨씬 적게 걸리고, 메모리 또한 적게 차지함을 알 수 있다.
결과
'Algorithm > CodeUp' 카테고리의 다른 글
[Java] codeup 1019 (0) | 2023.05.04 |
---|---|
[Java] codeup 1018 (0) | 2023.05.01 |
[Java] codeup 1015 (0) | 2023.05.01 |
[Java] codeup 1010 (0) | 2023.04.27 |
[Java] codeup 1008 (0) | 2023.04.27 |