Create Phone Number, CodeWars Kata
Write a function that accepts an array of 10 integers (between 0 and 9), that returns a string of those numbers in the form of a phone number.
Example:
Kata.createPhoneNumber(new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}) // => returns "(123) 456-7890"
The returned format must be correct in order to complete this challenge. Don't forget the space after the closing parentheses!
요소가 10개인 int
배열을 받아서 주어진 전화번호 형식으로 반환하는 문제입니다.
My Solution
숫자가 항상 10개가 주어지기 때문에 머리 아프게 생각할 것 없이 주어진 포맷에 맞게 출력만 해주면 되는 문제입니다. 저는 String.format()
을 활용하고 입력된 배열을 문자열로 변환해 substring()
을 활용했습니다.
package com.codewars;
import java.util.Arrays;
public class CreatePhoneNumber {
public static String createPhoneNumber(int[] numbers) {
String str = String.join("", Arrays.stream(numbers).mapToObj(String::valueOf).toArray(String[]::new));
return String.format("(%s) %s-%s", str.substring(0, 3), str.substring(3, 6), str.substring(6));
}
}
Best Practice
BP1
이 BP를 보고 헛웃음이 나왔습니다. 그냥 문자열 그대로 넣으면 될 걸 왜 굳이 문자열로 변환하고 그걸 잘랐을까...
주어진 배열을 String.format()
에 decimal 치환자를 이용해서 10개 모두 넣어주었네요.
package com.codewars;
import java.util.Arrays;
public class CreatePhoneNumber {
public static String createPhoneNumber(int[] numbers) {
return String.format("(%d%d%d) %d%d%d-%d%d%d%d", numbers[0], numbers[1], numbers[2], numbers[3], numbers[4],
numbers[5], numbers[6], numbers[7], numbers[8], numbers[9]);
}
}
BP2
BP1과 비슷하지만 배열을 하나하나 적어주는 것이 아니라 스트림을 이용해서 코드를 좀 더 간소화시켰습니다.
package com.codewars;
import java.util.Arrays;
public class CreatePhoneNumber {
public static String createPhoneNumber(int[] numbers) {
return String.format("(%d%d%d) %d%d%d-%d%d%d%d", java.util.stream.IntStream.of(numbers).boxed().toArray());
}
}
728x90
'IT Contents > 프로그래밍 팁' 카테고리의 다른 글
Number of trailing zeros of N!, CodeWars Kata 자바 솔루션 (0) | 2021.04.06 |
---|---|
Human Readable Time, CodeWars Kata 자바 솔루션 (0) | 2021.04.05 |
Find the missing letter, CodeWars Kata 자바 솔루션 (0) | 2021.04.03 |
Count the smiley faces! CodeWars Kata 자바 솔루션 (0) | 2021.04.01 |
Persistent Bugger, CodeWars Kata 자바 솔루션 (0) | 2021.03.31 |
최근댓글