초코딩(chocoding)

[CodeUp / java] 1025 : [기초-입출력] 정수 1개 입력받아 나누어 출력하기 본문

[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