728x90

๐Ÿ”— ๋ฌธ์ œ ๋งํฌ

์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ

 

๐Ÿ”Ž ๋ฌธ์ œ ํ’€์ด

์ด ๋ฌธ์ œ๋Š” ๋ณด์ž๋งˆ์ž HashMap์ด ๋– ์˜ฌ๋ผ์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€์—ˆ๋‹ค.

์ฑ„์ ํ•  ๋•Œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์ข€ ๋งŽ์•„์„œ ์‚ด์ง ๋‘๋ ค์› ์ง€๋งŒ ํ†ต๊ณผ !

 

Key Point

๐Ÿ”‘ ์œ ์ € ์•„์ด๋””์™€ ๋‹‰๋„ค์ž„์„ HashMap์— ์ €์žฅํ•œ๋‹ค. (key: ์œ ์ € ์•„์ด๋””, value: ๋‹‰๋„ค์ž„)

๐Ÿ”‘ count ๋ณ€์ˆ˜ : answer ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜(=count)๋ฅผ ์„ผ๋‹ค.

๐Ÿ”‘ ์˜คํ”ˆ ์ฑ„ํŒ…๋ฐฉ์„ ๊ฐœ์„คํ•œ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๋ฉ”์‹œ์ง€(= "ooo๋‹˜์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค." or "ooo๋‹˜์ด ๋‚˜๊ฐ”์Šต๋‹ˆ๋‹ค.")๋ฅผ ๋ฌธ์ž์—ด ๋ฐฐ์—ด answer์— ์ €์žฅํ•œ๋‹ค.

 

Java ์ฝ”๋“œ

import java.util.*;

class Solution {
    public String[] solution(String[] record) {
        
        // 1. ์œ ์ € ์•„์ด๋””์™€ ๋‹‰๋„ค์ž„์„ HashMap์— ์ €์žฅํ•œ๋‹ค. (key: ์œ ์ € ์•„์ด๋””, value: ๋‹‰๋„ค์ž„)
    
        Map<String, String> map = new HashMap<String, String>();
        int count = 0; 
        
        for (int i=0; i<record.length; i++) {
            String[] info = record[i].split(" ");
            
            if (info[0].equals("Enter") || info[0].equals("Change")) {
                map.put(info[1], info[2]);
            }
            
            // answer ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜(=count)๋ฅผ ์„ผ๋‹ค.
            
            if (info[0].equals("Enter") || info[0].equals("Leave")) {
                count++;
            }
        }
        
        // 2. ์˜คํ”ˆ ์ฑ„ํŒ…๋ฐฉ์„ ๊ฐœ์„คํ•œ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฌธ์ž์—ด ๋ฐฐ์—ด answer์— ์ €์žฅํ•œ๋‹ค.
        
        String[] answer = new String[count];
        int idx = 0;
        
        for (int i=0; i<record.length; i++) {
            String[] info = record[i].split(" ");
            String nickname = map.get(info[1]);
            
            if (info[0].equals("Enter")) {
            	answer[idx++] = nickname + "๋‹˜์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค.";
            }
            if (info[0].equals("Leave")) { 
            	answer[idx++] = nickname + "๋‹˜์ด ๋‚˜๊ฐ”์Šต๋‹ˆ๋‹ค.";
            }		 
        }
        
        return answer;
    }
}

728x90

+ Recent posts