๐ŸŒžAlgorithm/๐Ÿ”ฅprogrammers

[programmers] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜

๋ฟŒ์•ผ._. 2026. 7. 30. 11:52
๋ฌธ์ œ
https://school.programmers.co.kr/learn/courses/30/lessons/42576
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 


< ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ >

 

๋ฌธ์ œ ํ’€์ด (Java)

 

1) HashMap 

import java.util.*;

class Solution {
	public String solution(String[] participant, String[] completion) {
		String answer = "";

		HashMap<String, Integer> map = new HashMap<>();

		for (String str : participant) {
			if (!map.containsKey(str)) {
				map.put(str, 0);
			}
			map.put(str, map.get(str) + 1);
		}

		for (String str : completion) {
			if (map.get(str) == 1) {
				map.remove(str);
			} else {
				map.put(str, map.get(str) - 1);
			}
		}

		for (String str : map.keySet()) {
			answer = str;
		}
		return answer;
	}
}

 

์ฐธ๊ฐ€์ž์˜ ์ด๋ฆ„์„ HashMap์— ์ €์žฅํ•˜๊ณ , ์ด๋ฆ„๋ณ„ ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ์นด์šดํŠธํ•œ๋‹ค. ์™„์ฃผ์ž ๋ช…๋‹จ์„ ์ˆœํšŒํ•˜๋ฉฐ HashMap์—์„œ ํ•ด๋‹น ์ด๋ฆ„์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ์†Œ์‹œํ‚จ๋‹ค. ์ตœ์ข… HashMap์— ๋‚จ์€ ์ด๋ฆ„์ด ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ ์ด๋ฏ€๋กœ answer์— ์ €์žฅํ•œ ํ›„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.   

 

2) ์ •๋ ฌ

import java.util.*;

class Solution {
	public String solution(String[] participant, String[] completion) {
		String answer = "";

		Arrays.sort(participant);
		Arrays.sort(completion);

		for (int i = 0; i < participant.length; i++) {
			if (i >= completion.length || !participant[i].equals(completion[i])) {
				answer = participant[i];
				break;
			}
		}
		return answer;
	}
}

 

์ฐธ๊ฐ€์ž ๋ฐฐ์—ด๊ณผ ์™„์ฃผ์ž ๋ฐฐ์—ด์„ ๊ฐ๊ฐ ์ •๋ ฌํ•œ๋‹ค. ๋‘ ๋ฐฐ์—ด์„ ๋น„๊ตํ•˜๋ฉฐ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ๊ฐ€ ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์ด๋ฏ€๋กœ answer์— ์ €์žฅํ•œ ํ›„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.  



 

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต, 
https://school.programmers.co.kr/learn/challenges