> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Java Currency Formatter

jini:) 2021. 8. 27. 17:26
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Introduction > Java Currency Formatter
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

금액을 나타내는 배정밀도 숫자가 주어지면 NumberFormat 클래스의 getCurrencyInstance 메서드를 사용하여 미국, 인도, 중국 및 프랑스 통화 형식으로 변환합니다. 그런 다음 형식이 지정된 값을 다음과 같이 출력합니다.

US: formattedPayment
India: formattedPayment
China: formattedPayment
France: formattedPayment

 

여기서 formattedPayment는 해당 Locale의 통화에 따라 형식이 지정된 통화입니다.

Locale : 사용자의 언어, 국가뿐 아니라 사용자 인터페이스에서 사용자가 선호하는 사항을 지정한 매개 변수의 모임이다. 보통 로케일 증명자는 적어도 하나의 언어 증명자와 하나의 지역 증명자를 가지고 있다.

 

Note :

인도에는 기본 제공 로케일이 없으므로 언어가 en(즉, 영어)인 로케일을 구성해야 합니다.

 

Input Format : 

통화를 나타내는 단일 배정밀도 숫자

 

Constraints :

0 ≤ payment ≤ 10

 

Output Format :

  • 첫 번째 줄에 US: u를 출력하십시오. 여기서 u는 미국 통화에 대한 통화 형식입니다.
  • 두 번째 줄에 India: i를 출력합니다. 여기서 i는 인도 통화로 된 통화 형식입니다.
  • 세 번째 줄에 China: c를 출력합니다. 여기서 c는 중국 통화에 대한 통화 형식입니다.
  • 네 번째 줄에 France: f를 출력합니다. 여기서 f는 프랑스 통화에 대한 통화 형식입니다.

 

 

Sample Input :

12324.134

 

Sample Output :

US: $12,324.13
India: Rs.12,324.13
China: ¥12,324.13
France: 12 324,13 €

 

Explanation :

각 줄에는 4개국의 해당 통화에 따라 형식이 지정된 통화 금액이 포함됩니다.

 

 

Code :

import java.util.*;
import java.text.*;

public class Solution {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double payment = scanner.nextDouble();
        scanner.close();
        
        // Write your code here.     
        NumberFormat usLocale = NumberFormat.getCurrencyInstance(Locale.US);
        String us = usLocale.format(payment);
        
        Locale indiaNewLocale = new Locale("en", "IN");
        NumberFormat indiaLocale = NumberFormat.getCurrencyInstance(indiaNewLocale);
        String india = indiaLocale.format(payment);
        
        NumberFormat chinaLocale = NumberFormat.getCurrencyInstance(Locale.CHINA);
        String china = chinaLocale.format(payment);
        
        NumberFormat franceLocale = NumberFormat.getCurrencyInstance(Locale.FRANCE);
        String france = franceLocale.format(payment);
        
        System.out.println("US: " + us);
        System.out.println("India: " + india);
        System.out.println("China: " + china);
        System.out.println("France: " + france);
        
    }
}

 

 

 

개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.

 

 

 

728x90
반응형