Generation

generate functionThu, 27 Apr 2023

・ ミス 1 先頭に必要のない 0 がいくつかついてしまう ・ 本来 1 である数値が 0001 と表記されてしまう ・ 本来 0.001 である数値が 00.001 と表記されてしまう ・ ミス 2 小数である数値の末尾に必要のない 0 がいくつかついてしまう ・ 本来 0.1 である数値が 0.10 と表記されてしまう ・ ミス 3 小数である数値に小数点が複数個ついてしまう ただし、 1 つめの小数点の位置が正しい小数点の位置であるものとします ・ 本来 0.123 である数値が 0.1.2.3 と表記されてしまう。 表記が正しくない可能性のある数値を表す文字列 S が与えられるので、その数値を正しい表記にしてください。 S を数値として扱うと上手く処理が行えないので気をつけてください。

import java.util.*; class Answer { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String S = sc.next(); String str = S.replaceAll("[^0-9.]", ""); String tmp = str.replaceAll("[.]", "$0."); String[] arr = tmp.split("[.]"); String ans = ""; for (int i = 0; i < arr.length; i++) { if (i != 0) { if (!arr[i].equals("0")) { ans += "." + arr[i]; } } else { if (arr[i].length() == 1 && arr[i].charAt(0) == '0') { ans += "0"; } else { ans += arr[i]; } } } System.out.println(ans); } }

Questions about programming?Chat with your personal AI assistant