Notice
Recent Posts
Recent Comments
Link
Β«   2025/05   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

midnightly

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ˜€ν”ˆμ±„νŒ…λ°© (JAVA) λ³Έλ¬Έ

Algorithm/programmers

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ˜€ν”ˆμ±„νŒ…λ°© (JAVA)

비버버비 2021. 10. 1. 13:55

πŸ“ƒ λ¬Έμ œ

μΉ΄μΉ΄μ˜€ν†‘ μ˜€ν”ˆμ±„νŒ…λ°©μ—μ„œλŠ” μΉœκ΅¬κ°€ μ•„λ‹Œ μ‚¬λžŒλ“€κ³Ό λŒ€ν™”λ₯Ό ν•  수 μžˆλŠ”λ°, 본래 λ‹‰λ„€μž„μ΄ μ•„λ‹Œ κ°€μƒμ˜ λ‹‰λ„€μž„μ„ μ‚¬μš©ν•˜μ—¬ μ±„νŒ…λ°©μ— λ“€μ–΄κ°ˆ 수 μžˆλ‹€.

μ‹ μž…μ‚¬μ›μΈ κΉ€ν¬λ£¨λŠ” μΉ΄μΉ΄μ˜€ν†‘ μ˜€ν”ˆ μ±„νŒ…λ°©μ„ κ°œμ„€ν•œ μ‚¬λžŒμ„ μœ„ν•΄, λ‹€μ–‘ν•œ μ‚¬λžŒλ“€μ΄ λ“€μ–΄μ˜€κ³ , λ‚˜κ°€λŠ” 것을 μ§€μΌœλ³Ό 수 μžˆλŠ” κ΄€λ¦¬μžμ°½μ„ λ§Œλ“€κΈ°λ‘œ ν–ˆλ‹€. μ±„νŒ…λ°©μ— λˆ„κ΅°κ°€ λ“€μ–΄μ˜€λ©΄ λ‹€μŒ λ©”μ‹œμ§€κ°€ 좜λ ₯λœλ‹€.

"[λ‹‰λ„€μž„]λ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."

μ±„νŒ…λ°©μ—μ„œ λˆ„κ΅°κ°€ λ‚˜κ°€λ©΄ λ‹€μŒ λ©”μ‹œμ§€κ°€ 좜λ ₯λœλ‹€.

"[λ‹‰λ„€μž„]λ‹˜μ΄ λ‚˜κ°”μŠ΅λ‹ˆλ‹€."

μ±„νŒ…λ°©μ—μ„œ λ‹‰λ„€μž„μ„ λ³€κ²½ν•˜λŠ” 방법은 λ‹€μŒκ³Ό 같이 두 가지이닀.

  • μ±„νŒ…λ°©μ„ λ‚˜κ°„ ν›„, μƒˆλ‘œμš΄ λ‹‰λ„€μž„μœΌλ‘œ λ‹€μ‹œ λ“€μ–΄κ°„λ‹€.
  • μ±„νŒ…λ°©μ—μ„œ λ‹‰λ„€μž„μ„ λ³€κ²½ν•œλ‹€.

λ‹‰λ„€μž„μ„ λ³€κ²½ν•  λ•ŒλŠ” 기쑴에 μ±„νŒ…λ°©μ— 좜λ ₯λ˜μ–΄ 있던 λ©”μ‹œμ§€μ˜ λ‹‰λ„€μž„λ„ μ „λΆ€ λ³€κ²½λœλ‹€.

예λ₯Ό λ“€μ–΄, μ±„νŒ…λ°©μ— "Muzi"와 "Prodo"λΌλŠ” λ‹‰λ„€μž„μ„ μ‚¬μš©ν•˜λŠ” μ‚¬λžŒμ΄ μˆœμ„œλŒ€λ‘œ λ“€μ–΄μ˜€λ©΄ μ±„νŒ…λ°©μ—λŠ” λ‹€μŒκ³Ό 같이 λ©”μ‹œμ§€κ°€ 좜λ ₯λœλ‹€.

"Muziλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."
"Prodoλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."

μ±„νŒ…λ°©μ— 있던 μ‚¬λžŒμ΄ λ‚˜κ°€λ©΄ μ±„νŒ…λ°©μ—λŠ” λ‹€μŒκ³Ό 같이 λ©”μ‹œμ§€κ°€ λ‚¨λŠ”λ‹€.

"Muziλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."
"Prodoλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."
"Muziλ‹˜μ΄ λ‚˜κ°”μŠ΅λ‹ˆλ‹€."

Muziκ°€ λ‚˜κ°„ν›„ λ‹€μ‹œ λ“€μ–΄μ˜¬ λ•Œ, Prodo λΌλŠ” λ‹‰λ„€μž„μœΌλ‘œ λ“€μ–΄μ˜¬ 경우 기쑴에 μ±„νŒ…λ°©μ— λ‚¨μ•„μžˆλ˜ Muzi도 Prodo둜 λ‹€μŒκ³Ό 같이 λ³€κ²½λœλ‹€.

"Prodoλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."
"Prodoλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."
"Prodoλ‹˜μ΄ λ‚˜κ°”μŠ΅λ‹ˆλ‹€."
"Prodoλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."

μ±„νŒ…λ°©μ€ 쀑볡 λ‹‰λ„€μž„μ„ ν—ˆμš©ν•˜κΈ° λ•Œλ¬Έμ—, ν˜„μž¬ μ±„νŒ…λ°©μ—λŠ” ProdoλΌλŠ” λ‹‰λ„€μž„μ„ μ‚¬μš©ν•˜λŠ” μ‚¬λžŒμ΄ 두 λͺ…이 μžˆλ‹€. 이제, μ±„νŒ…λ°©μ— 두 번째둜 λ“€μ–΄μ™”λ˜ Prodoκ°€ Ryan으둜 λ‹‰λ„€μž„μ„ λ³€κ²½ν•˜λ©΄ μ±„νŒ…λ°© λ©”μ‹œμ§€λŠ” λ‹€μŒκ³Ό 같이 λ³€κ²½λœλ‹€.

"Prodoλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."
"Ryanλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."
"Prodoλ‹˜μ΄ λ‚˜κ°”μŠ΅λ‹ˆλ‹€."
"Prodoλ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€."

μ±„νŒ…λ°©μ— λ“€μ–΄μ˜€κ³  λ‚˜κ°€κ±°λ‚˜, λ‹‰λ„€μž„μ„ λ³€κ²½ν•œ 기둝이 λ‹΄κΈ΄ λ¬Έμžμ—΄ λ°°μ—΄ recordκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, λͺ¨λ“  기둝이 처리된 ν›„, μ΅œμ’…μ μœΌλ‘œ 방을 κ°œμ„€ν•œ μ‚¬λžŒμ΄ 보게 λ˜λŠ” λ©”μ‹œμ§€λ₯Ό λ¬Έμžμ—΄ λ°°μ—΄ ν˜•νƒœλ‘œ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•˜λΌ.

 

πŸ“ 풀이

import java.util.*;
class Solution {
    public String[] solution(String[] record) {
        HashMap<String, String> map = new HashMap();
        
        for (int i = 0; i < record.length; i++) {
            String[] tmp = record[i].split(" ");
            
            if (!tmp[0].equals("Leave")) {
                map.put(tmp[1], tmp[2]);
            }
        }

        List list = new ArrayList();
        
        for (int k = 0; k < record.length; k++) {
            if (record[k].charAt(0) == 'E' || record[k].charAt(0) == 'L') {
                list.add(talk(record[k], map));
            }
        }
        
        String[] answer = new String[list.size()];
        for (int j = 0; j < list.size(); j++) {
            answer[j] = list.get(j).toString();
        }
        return answer;
    }
    
    public String talk (String tmp, HashMap map) {
        String[] talkArr = tmp.split(" ");
        String talkStr = "";
        
        String idKey = talkArr[1];
        if (talkArr[0].equals("Enter")) {
            talkStr = map.get(idKey) + "λ‹˜μ΄ λ“€μ–΄μ™”μŠ΅λ‹ˆλ‹€.";
        } else if (talkArr[0].equals("Leave")) {
            talkStr = map.get(idKey) + "λ‹˜μ΄ λ‚˜κ°”μŠ΅λ‹ˆλ‹€.";
        }
        return talkStr;

    }
}

 

https://programmers.co.kr/learn/courses/30/lessons/42888

 

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - μ˜€ν”ˆμ±„νŒ…λ°©

μ˜€ν”ˆμ±„νŒ…λ°© μΉ΄μΉ΄μ˜€ν†‘ μ˜€ν”ˆμ±„νŒ…λ°©μ—μ„œλŠ” μΉœκ΅¬κ°€ μ•„λ‹Œ μ‚¬λžŒλ“€κ³Ό λŒ€ν™”λ₯Ό ν•  수 μžˆλŠ”λ°, 본래 λ‹‰λ„€μž„μ΄ μ•„λ‹Œ κ°€μƒμ˜ λ‹‰λ„€μž„μ„ μ‚¬μš©ν•˜μ—¬ μ±„νŒ…λ°©μ— λ“€μ–΄κ°ˆ 수 μžˆλ‹€. μ‹ μž…μ‚¬μ›μΈ κΉ€ν¬λ£¨λŠ” μΉ΄μΉ΄μ˜€ν†‘ 였

programmers.co.kr

Comments