• 문제 링크
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(".--.-.", '@');
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 2371 파일 구별하기 - Data Structure / Java (0) | 2024.01.01 |
---|---|
[백준] 15323 ZigZag - Data Structure / Java (0) | 2023.12.31 |
[백준] 17173 배수들의 합 - Brute Force / Java (0) | 2023.12.29 |
[백준] 2399 거리의 합 - Brute Force / Java (0) | 2023.12.28 |
[백준] 13410 거꾸로 구구단 - Brute Force / Java (0) | 2023.12.27 |
댓글