memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

문제

원문: codeup.kr/problem.php?id=1012

 

[기초-입출력] 실수 1개 입력받아 그대로 출력하기(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용 ��

codeup.kr

실수형(float)로 변수를 선언하고 그 변수에 실수값을 저장한 후
저장되어 있는 실수값을 출력해보자.

참고
float x;
scanf("%f", &x);
printf("%f", x);
와 같은 방법으로 가능하다.

 

입력

1.414213

 

출력

1.414213

 

Java 풀기

문제에 부가설명이 없어서, 조금 헤맸다.

부가설명을 추가하자면, Float 크기만큼 뒤에 0을 붙여서 출력해야 한다.

 

예를들어서, 3을 입력받으면, 3.000000 을 출력해야 한다.

1.23을 받으면, 1.230000을 출력해야 한다.

 

단순히 System.out.printf를 이용하면 된다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.printf("%f", Float.parseFloat(br.readLine()));
    }
}

 

 

채점결과

채점결과

 

참고. 다른 풀이

아래는 System.out.printf() 메소드를 사용하지 않고, 풀어봤다.

printf() 메소드를 사용할 때보다 적은 메모리와 더 빠른 시간으로 알고리즘이 동작한다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        final char[] init = {'0', '.', '0', '0', '0', '0', '0', '0'};
        final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        final char[] inputArr = br.readLine().toCharArray();
        for (int i=0; i<inputArr.length; i++) {
            init[i] = inputArr[i];
        }
        System.out.println(String.valueOf(init));
    }
}

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!