Algorithm/programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ (JAVA)

๋น„๋ฒ„๋ฒ„๋น„ 2022. 2. 4. 10:49

๐Ÿ“ƒ ๋ฌธ์ œ

์ˆ˜๋งŽ์€ ๋งˆ๋ผํ†ค ์„ ์ˆ˜๋“ค์ด ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹จ ํ•œ ๋ช…์˜ ์„ ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด participant์™€ ์™„์ฃผํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด completion์ด ์ฃผ์–ด์งˆ ๋•Œ, ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

 

๐Ÿ“ ํ’€์ด

import java.util.*;
class Solution {
    public String solution(String[] participant, String[] completion) {
        HashMap<String, Integer> hm = new HashMap<>();
        for (int i = 0; i < participant.length; i++){
            String name = participant[i];
            
            if (hm.containsKey(name)) { // ์ฐธ๊ฐ€์ž ์ค‘ ์ด๋ฏธ ๋“ฑ๋ก๋œ ์‚ฌ๋žŒ์ด ์กด์žฌํ•˜๋ฉด value ์นด์šดํŠธ +1
                hm.put(name, hm.get(name)+1);
            } else { // ๋“ฑ๋ก๋œ ์ฐธ๊ฐ€์ž๊ฐ€ ์—†๋‹ค๋ฉด value ๊ธฐ๋ณธ ๊ฐ’ 1
                hm.put(name, 1);
            }
        }
        
        for (int i = 0; i < completion.length; i++) {
            if (hm.get(completion[i]) == 1){ // ์™„์ฃผ์ž์˜ value๊ฐ€ 1์ด๋ผ๋ฉด ์ฐธ๊ฐ€์ž map์—์„œ ์‚ญ์ œ
                hm.remove(completion[i]);
            } else { // value๊ฐ€ 1์ด ์•„๋‹ˆ๋ผ๋ฉด (=๋™๋ช… ์กด์žฌ) value ์นด์šดํŠธ -1
                hm.put(completion[i], hm.get(completion[i])-1);
            }
        }
        
        String tmp = hm.keySet().toString();
        String answer = tmp.substring(1, tmp.length()-1); // ์•ž๋’ค ๊ด„ํ˜ธ ์ œ๊ฑฐ
        return answer;
    }
}

 

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

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜

์ˆ˜๋งŽ์€ ๋งˆ๋ผํ†ค ์„ ์ˆ˜๋“ค์ด ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹จ ํ•œ ๋ช…์˜ ์„ ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด participant์™€ ์™„์ฃผํ•œ ์„ ์ˆ˜

programmers.co.kr

 

๋Œ“๊ธ€์ˆ˜0