🌞Algorithm/🔥Baekjoon

[Baekjoon] 29881_Account Names

뿌야._. 2025. 1. 9. 21:50
문제(출처: https://www.acmicpc.net/problem/29881)

< Account Names >

 

문제 풀이 

 

key : first name  / value : last name

key : first name  / value : account name

을 값으로 가지는 HashMap을 활용하여 last name과 account name을 출력한다.

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.StringTokenizer;
import java.io.InputStreamReader;

public class _29881_ { // Account Names

	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> firstLast = new HashMap<>();
		HashMap<String, String> firstAccount = new HashMap<>();
        
		for (int i = 0; i < n; i++) {
			st = new StringTokenizer(bf.readLine());
			firstLast.put(st.nextToken(), st.nextToken());
		}
        
		for (int i = 0; i < n; i++) {
			st = new StringTokenizer(bf.readLine());
			firstAccount.put(st.nextToken(), st.nextToken());
		}
        
		for (String first : firstLast.keySet()) {
			bw.write(firstLast.get(first) + " " + firstAccount.get(first) + "\n");
		}
		bw.flush();
	}
}
변수)
n : 참가자 수
firstLast : HashMap <first name, last name>
firstAccount: HashMap <first name, account name>

 

참가자 수를 입력받는다. 참가자 수만큼 first name과 last name을, first name과 account name을 입력받아 각 HashMap에 저장한다. HashMap을 순환하며 first name을 key값으로 가지는 last name과 account name을 출력한다.