Problem Solving/Baekjoon
[백준] 29701 모스 부호 - Data Structure / Java
graycode
2023. 12. 30. 19:03
• 문제 링크
29701번: 모스 부호
혜민이는 요즘 모스 부호에 관심이 많아졌다. 모스 부호는 짧은 신호와 긴 신호를 적절히 조합하여 문자 기호를 표기하는 방식이다. 각 문자를 나타내는 방식은 미리 정해져 있는데, 예를 들어,
www.acmicpc.net
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
public class Main {
static Map<String, Character> map = new HashMap<>();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
init();
while (n-- > 0) sb.append(map.get(st.nextToken()));
bw.write(sb.toString());
bw.flush();
}
private static void init() {
map.put(".-", 'A');
map.put("-...", 'B');
map.put("-.-.", 'C');
map.put("-..", 'D');
map.put(".", 'E');
map.put("..-.", 'F');
map.put("--.", 'G');
map.put("....", 'H');
map.put("..", 'I');
map.put(".---", 'J');
map.put("-.-", 'K');
map.put(".-..", 'L');
map.put("--", 'M');
map.put("-.", 'N');
map.put("---", 'O');
map.put(".--.", 'P');
map.put("--.-", 'Q');
map.put(".-.", 'R');
map.put("...", 'S');
map.put("-", 'T');
map.put("..-", 'U');
map.put("...-", 'V');
map.put(".--", 'W');
map.put("-..-", 'X');
map.put("-.--", 'Y');
map.put("--..", 'Z');
map.put(".----", '1');
map.put("..---", '2');
map.put("...--", '3');
map.put("....-", '4');
map.put(".....", '5');
map.put("-....", '6');
map.put("--...", '7');
map.put("---..", '8');
map.put("----.", '9');
map.put("-----", '0');
map.put("--..--", ',');
map.put(".-.-.-", '.');
map.put("..--..", '?');
map.put("---...", ':');
map.put("-....-", '-');
map.put(".--.-.", '@');
}
}