๋ณธ๋ฌธ

์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ #ํ•ด์‹œ #level1

 

๐Ÿ’ก ํ•ด์‹œ

ํ•ด์‹œ๋Š” Key-value์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก ํ’€์ด1 - HashMap

HashMap์— Participant์˜ ์ฐธ๊ฐ€์ž๋ฅผ key ๊ฐ’์œผ๋กœ, value๋Š” +1์„ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.  ๊ทธ๋ฆฌ๊ณ  ์ด ํ•ด์‹œ ๋งต์„ ์ด์šฉ ํ•˜์—ฌ Completion์˜ ๋ช…๋‹จ์ด HashMap์— key ๊ฐ’์— ์กด์žฌํ•˜๋ฉด value์— -1ํ•ด ์ค๋‹ˆ๋‹ค.  ๊ทธ๋Ÿฌ๋ฉด ๊ฐ key๊ฐ’์˜ value๊ฐ’์ด 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ๋ช…๋‹จ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import java.util.HashMap;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        HashMap<String, Integer> hm = new HashMap<>();
        for (String player : participant) hm.put(player, hm.getOrDefault(player, 0) + 1);
        for (String player : completion) hm.put(player, hm.get(player) - 1);

        for (String key : hm.keySet()) {
            if (hm.get(key) != 0){
                answer = key;
            }
        }
        return answer;
    }
}

 

P.S. getOrDefault
์ฐพ๋Š” ํ‚ค๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์ฐพ๋Š” ํ‚ค์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์—†๋‹ค๋ฉด ๊ธฐ๋ณธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ

getOrDefault(Object key, V DefaultValue)
-. key : ๊ฐ’์„ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š” ์š”์†Œ์˜ ํ‚ค์ž…๋‹ˆ๋‹ค. 
-. defaultValue : ์ง€์ •๋œ ํ‚ค๋กœ ๋งคํ•‘๋œ ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ ๋ฐ˜ํ™˜๋˜์–ด์•ผ ํ•˜๋Š” ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.
→ ๋ฐ˜ํ™˜๊ฐ’ : ์ฐพ๋Š” key๊ฐ€ ์กด์žฌํ•˜๋ฉด ํ•ด๋‹น key์— ๋งคํ•‘๋˜์–ด ์žˆ๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด defualt ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
public static void main(String[] args) {
	String[] alphabet = { "A", "B", "C", "A" };
	HashMap<String, Integer> hm = new HashMap<>();
	for (String key : alphabet)
		hm.put(key, hm.getOrDefault(key, 0) + 1);
	
	// ๊ฒฐ๊ณผ : {A=2, B=1, C=1}
	System.out.println("๊ฒฐ๊ณผ : " + hm);  
}

 

๐Ÿ’ก ํ’€์ด2 - Sort

๋‹ค์Œ ํ’€์ด๋Š” Sort๋ฅผ ์ด์šฉํ•œ ํ’€์ด์ž…๋‹ˆ๋‹ค. Participant ๋ฐฐ์—ด๊ณผ Completion ๋ฐฐ์—ด์„ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•˜์—ฌ  ๋†“๊ณ , ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์„ ์ˆ˜์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ์ฐธ๊ฐ€ํ•˜์ง€ ์•Š๋Š” ์„ ์ˆ˜์˜ ๋ช…๋‹จ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import java.util.*;
class Solution {
    public String solution(String[] participant, String[] completion) {
        Arrays.sort(participant);
        Arrays.sort(completion);
        int i;
        for ( i=0; i<completion.length; i++){

            if (!participant[i].equals(completion[i])){
                return participant[i];
            }
        }
        return participant[i];
    }
}

 

 

์ถœ์ฒ˜: https://junghn.tistory.com/entry/

๊ณต์œ 

๋Œ“๊ธ€

Cloud & AI Engineering | ์ž„์Šนํ•œ

design by tokiidesu. powerd by AXZ.