

내가 작성한 코드
import java.util.HashMap;
import java.util.Map;
class Solution {
public String solution(String letter) {
String[] mos = letter.split(" "); // 받은 문자열 배열화
// 맵에 모스부호 전부 담기
Map<String, String> morse = new HashMap<>();
morse.put(".-", "a");
morse.put("-...", "b");
morse.put("-.-.", "c");
morse.put("-..", "d");
morse.put(".", "e");
morse.put("..-.", "f");
morse.put("--.", "g");
morse.put("....", "h");
morse.put("..", "i");
morse.put(".---", "j");
morse.put("-.-", "k");
morse.put(".-..", "l");
morse.put("--", "m");
morse.put("-.", "n");
morse.put("---", "o");
morse.put(".--.", "p");
morse.put("--.-", "q");
morse.put(".-.", "r");
morse.put("...", "s");
morse.put("-", "t");
morse.put("..-", "u");
morse.put("...-", "v");
morse.put(".--", "w");
morse.put("-..-", "x");
morse.put("-.--", "y");
morse.put("--..", "z");
// 모스부로 알파벳으로 변환
for (int i = 0; i < mos.length; i++) {
mos[i] = morse.get(mos[i]);
}
// 배열을 문자열로 바꾸기
String answer = String.join("", mos);
return answer;
}
}
다른 사람의 코드
class Solution {
public String solution(String letter) {
String answer = "";
String[] morse = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
String[] word = letter.split(" ");
for(int i=0;i<word.length;i++){
for(int j=0;j<morse.length;j++){
if(word[i].equals(morse[j])) answer+=(char)(j+97);
}
}
return answer;
}
}
맵 대신 문자열 배열을 이용해 이중 for문을 사용.
Share article