자동차가 d킬로미터를 달리며 연료 l리터를 썼다.
한 줄에 정수 d와 l이 빈칸 하나로 띄워 주어진다.
연료 1리터로 간 거리, 곧 d ÷ l을 소수점 아래 정확히 두 자리로 출력하라.
몫이 정수여도 두 자리를 쓴다(25 ÷ 5 → 5.00).
입력은 d × 100이 l로 나누어떨어지는 것만 주어진다. 그래서 몫은 소수 둘째 자리 안에서 끝나고, 반올림할 일은 없다.
입력
1 ≤ d ≤ 100,000, 1 ≤ l ≤ 1,000, d × 100은 l로 나누어떨어진다
출력
d ÷ l 한 줄, 소수점 아래 정확히 두 자리
예시 1 · stdin
25 2
stdout
12.50
예시 2 · stdin
3 4
stdout
0.75
main.py
오류 목록00F8 ↓ · ⇧F8 ↑
입력(stdin)
실행하면 이 줄들이 차례로 input()·표준 입력으로 들어가요(실행 중에 묻지 않아요).
$ 준비됐어요
코드를 입력해 풀려면 PC에서 열어 주세요. 모바일에서는 문제와 풀이를 볼 수 있어요.
다른 언어로는?언어별 풀이 보기 · 8개 언어 풀이
함정은 정수 나눗셈이에요. C·C++·Java·C#에서 d / l은 int끼리라 몫만 남아요(3 / 4 → 0). 한쪽을 먼저 실수로 바꿔야 해요: C·Java·C# (double)d / l, C++ static_cast<double>(d) / l. (double)(d / l)처럼 나눈 뒤에 바꾸거나 double km = d / l;처럼 실수 변수에 담기만 하면, 이미 소수가 버려진 뒤라 3 4에서 0.00이 나와요. Python 3·JS·TS·크레이콘의 /는 정수끼리도 소수까지 나눠요(Python의 //는 몫만이에요). 둘째 함정은 자리 수예요. 그냥 찍으면 Python print(d / l)은 12.5, JS·TS console.log(d / l)은 12.5, 정수 몫이면 JS는 5, Python은 5.0이 나와요. 소수 두 자리는 Python f"{x:.2f}", JS·TS x.toFixed(2), C printf("%.2f"), C++ std::fixed << std::setprecision(2), Java String.format("%.2f", x), C# x.ToString("F2"), 크레이콘 글자.소수자리맞추기(x, 2)로 맞춰요.
import java.util.Locale;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int d = sc.nextInt(); int l = sc.nextInt(); // 한쪽을 double로 바꿔야 실수 나눗셈이 된다 double km = (double) d / l; System.out.println(String.format(Locale.ROOT, "%.2f", km)); }}
C#Main.cs · 15 줄
using System;using System.Globalization;class Program{ static void Main() { string[] p = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries); int d = int.Parse(p[0]); int l = int.Parse(p[1]); // int끼리 나누면 몫만 남으니 한쪽을 double로 double km = (double)d / l; Console.WriteLine(km.ToString("F2", CultureInfo.InvariantCulture)); }}
C++main.cpp · 9 줄
#include <iomanip>#include <iostream>int main() { int d, l; std::cin >> d >> l; double km = static_cast<double>(d) / l; std::cout << std::fixed << std::setprecision(2) << km << "\n";}