문제
내가 작성한 정답
class Solution {
public String solution(String letter) {
StringBuilder answer = new StringBuilder();
String[] morse = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
for(String s:letter.split(" ")){
for(int i=0; i<morse.length; i++){
if(s.equals(morse[i])) answer.append((char)(i+'a'));
}
}
return answer.toString();
}
}다른 사람들의 정답
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
class Solution {
Map<String, String> dictionary = new HashMap<>() {{
put(".-", "a");
put("-...", "b");
put("-.-.", "c");
put("-..", "d");
put(".", "e");
put("..-.", "f");
put("--.", "g");
put("....", "h");
put("..", "i");
put(".---", "j");
put("-.-", "k");
put(".-..", "l");
put("--", "m");
put("-.", "n");
put("---", "o");
put(".--.", "p");
put("--.-", "q");
put(".-.", "r");
put("...", "s");
put("-", "t");
put("..-", "u");
put("...-", "v");
put(".--", "w");
put("-..-", "x");
put("-.--", "y");
put("--..", "z");
}};
public String solution(String letter) {
return Arrays.stream(letter.split(" "))
.map(dictionary::get)
.collect(Collectors.joining());
}
}Share article