문제(출처: https://www.acmicpc.net/problem/18679)
< Banana >
문제 풀이
<English words, Minionese words>를 쌍으로 저장한 HashMap을 사용하여 변환한다.
my solution (Java)
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.StringTokenizer;
public class _18679_ { // Banana
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int n = Integer.parseInt(bf.readLine());
HashMap<String, String> map = new HashMap<>();
for (int i = 0; i < n; i++) {
st = new StringTokenizer(bf.readLine());
String x = st.nextToken();
st.nextToken();
String y = st.nextToken();
map.put(x, y);
}
int t = Integer.parseInt(bf.readLine());
for (int i = 0; i < t; i++) {
int k = Integer.parseInt(bf.readLine());
st = new StringTokenizer(bf.readLine());
for (int j = 0; j < k; j++) {
bw.write(map.get(st.nextToken()) + " ");
}
bw.write("\n");
}
bw.flush();
}
}
변수)
n : 사전 단어 수
map : HashMap <English words, Minionese words>
x, y : 사전에 저장될 단어
t : 테스트 케이스 수
k : 문장에 있는 단어 수
사전 단어 수를 입력받는다. 사전 단어 수만큼 사전에 저장될 단어를 입력받아 HashMap에 저장한다. 테스트 케이스 수를 입력받아 테스트 케이스 수만큼 문장에 있는 단어 수와 문장을 입력받는다. 문장에 있는 단어를 HashMap을 통해 Minionese words로 변환해 출력한다.
'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
[Baekjoon] 4775_Spelling Be (1) | 2025.01.15 |
---|---|
[Baekjoon] 18294_Biodiversity (0) | 2025.01.14 |
[Baekjoon] 11645_I’ve Been Everywhere, Man (0) | 2025.01.10 |
[Baekjoon] 29881_Account Names (0) | 2025.01.09 |
[Baekjoon] 32328_Bronze Count (0) | 2025.01.08 |