[Java] 알고리즘 문제풀이
[CodeUp / java] 1025 : [기초-입출력] 정수 1개 입력받아 나누어 출력하기
sweetychocoding
2023. 8. 30. 10:29
728x90
이 문제는 다섯 자리의 정수 1개를 입력받아 각 자리별로 나누어 출력하는 문제이다.
package j01_basic;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
//System.out.printf("숫자 입력 > ");
String num = br.readLine();
char[] numArr = num.toCharArray();
for (int i = 0; i < 5; i++) {
System.out.printf("[%s", numArr[i]);
for (int j = i; j < 4; j++) {
System.out.print('0');
}
System.out.print(']');
System.out.println();
}
}
}
............ 어찌저찌 풀긴 했다
근데 이건 문제를 풀기에 급급해서
....올바른 코드는 아닌 것 같다............!!!!!!!!!!!!!!!!!!!!!!!!!
그럼 다시 생각해보고 오겠습니다~^^
애초에 정수를 입력받는 건데 정수를 String.....으로 받아버렸으니.......^^;;;;;;;;;
다시 생각할게욤 ..!! (네...!!^^*****)
+ 추가 1)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
System.out.printf("숫자 입력 > ");
String num = br.readLine();
char[] numArr = num.toCharArray();
for (int i = 0; i < 5; i++) {
bw.write("[" + numArr[i]);
for (int j = i; j < 4; j++) {
bw.write('0');
}
bw.write(']');
bw.newLine();
}
bw.flush();
bw.close();
}
}
아임 빠가야루!!!!!!!!!!
위에 BufferedWriter를 선언하고 자연스럽게 println를 썼다~ ㅎㅎ
그래서 bw.write()를 쓰고 시간을 봤더니 확실히 빠르군요..
근데 빠르다는 장점 말고.. 딴....장 점...은 무엇????이 있을까요??????
.
.
.
.
그럼 이제 진짜로 정수로 받는 방법을 생각해볼게요....
+ 추가 2)
package j01_basic;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
System.out.printf("숫자 입력 > ");
int num = Integer.parseInt(br.readLine());
int[] numArr = new int[5];
for (int i = 4; i >= 0; i--) {
numArr[i] = num % 10;
num /= 10;
}
for (int i = 0; i < 5; i++) {
bw.write("[" + numArr[i]);
for (int j = i; j < 4; j++) {
bw.write('0');
}
bw.write(']');
bw.newLine();
}
bw.flush();
bw.close();
}
}
정수로 입력을 받게 되었...습니다...!!!!
근데 int형 배열의 길이가 5개로 정해져버렸어요.....
물론 방법은 있겠지......하하 (그만......ㄴ......넘 힘들다 ....)
네!! 생각해볼게요 ^^.........
.
.
.
728x90