๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ˜์‘ํ˜•

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

[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ”„๋ฆฐํ„ฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ”„๋ฆฐํ„ฐ https://programmers.co.kr/learn/courses/30/lessons/42587 ๋ฌธ์ œ์ ‘๊ทผ ์ธ์‡„ ๋Œ€๊ธฐ์—ด์—์„œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๊ฒƒ ๋ถ€ํ„ฐ ์ธ์‡„๋ฅผ ํ•ด์•ผํ•˜๊ณ , location์— ์žˆ๋Š” ์ž‘์—…์ด ๋ช‡๋ฒˆ์งธ๋กœ ์ธ์‡„๋˜๋Š”์ง€๋ฅผ ๊ตฌํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์„œ task ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์šฐ์„ ์ˆœ์œ„์™€ ์ฒ˜์Œ ์ฃผ์–ด์ง„ ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ํ์— ์ €์žฅ์„ ํ•˜๊ณ , ๊ฐ€์žฅ ํฐ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ์œ„ํ•ด์„œ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•ด์„œ ์ตœ๋Œ€ ํž™์„ ์ด์šฉํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ•ด๋‹น location์— ์žˆ๋Š” ์ž‘์—…์ด ์ธ์‡„๋  ๋•Œ๊นŒ์ง€ while๋ฌธ์„ ๋Œ๋ฆฌ๋„๋ก ํ–ˆ๋‹ค. Code import java.util.PriorityQueue; import java.util.Queue; import java.util.Collections; import java.uti.. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋” ๋งต๊ฒŒ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋” ๋งต๊ฒŒ https://programmers.co.kr/learn/courses/30/lessons/42626 ๋ฌธ์ œ์ ‘๊ทผ ์ฃผ์–ด์ง„ ์Œ์‹ ๋ฐฐ์—ด์—์„œ ์Šค์ฝ”๋นŒ์ง€์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋‘ ์Œ์‹์„ ์„ž์–ด์„œ ๊ธฐ์ค€์ธ K๋ฅผ ๋„˜๊ฒจ์•ผ ํ•œ๋‹ค. ๋‘ ์Œ์‹์„ ์„ž์€ ๊ฒฐ๊ณผ๋„ ๋‹ค์‹œ ์Œ์‹ ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•ด์„œ ์—ฐ์‚ฐ์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ณ„์†ํ•ด์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œํž™์„ ์‚ฌ์šฉํ–ˆ๋‹ค. Code import java.util.PriorityQueue; class Solution { public int solution(int[] scoville, int K) { PriorityQueue minHeap = new PriorityQueue(); for(int food: scoville) minHeap.add(food); int answer =.. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ธฐ๋Šฅ๊ฐœ๋ฐœ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ธฐ๋Šฅ๊ฐœ๋ฐœ https://programmers.co.kr/learn/courses/30/lessons/42586 ๋ฌธ์ œ์ ‘๊ทผ ๊ฐ ๊ธฐ๋Šฅ๋งˆ๋‹ค ๋‚จ์€ ์ผ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๊ณ , ์•ž ๊ธฐ๋Šฅ์˜ ๋‚จ์€ ์ผ์ˆ˜๋ณด๋‹ค ์ž‘์€ ์ผ์ˆ˜๋ฅผ ๊ฐ€์ง„ ๊ธฐ๋Šฅ๋งˆ๋‹ค count๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ์„œ ํ•œ ๋ฐฐํฌ ๋‹จ๊ณ„์— ํฌํ•จ๋˜๋„๋ก ์ ‘๊ทผํ–ˆ๋‹ค. Code import java.util.ArrayList; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] remainDays = new int[progresses.length]; //๊ฐ ๊ธฐ๋Šฅ์„ ์™„๋ฃŒํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ผ ์ €์žฅ for(int i = 0; i ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์นด์นด์˜คํ”„๋ Œ์ฆˆ ์ปฌ๋Ÿฌ๋ง๋ถ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์นด์นด์˜คํ”„๋ Œ์ฆˆ ์ปฌ๋Ÿฌ๋ง๋ถ https://programmers.co.kr/learn/courses/30/lessons/1829 ๋ฌธ์ œ์ ‘๊ทผ BFS๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ™์€ ์ƒ‰์ƒ์„ ๊ฐ€์ง„ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๋“ค์„ ํƒ์ƒ‰ํ•˜๊ณ  ์˜์—ญ๊ณผ ์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ขŒํ‘œ๊ฐ’๊ณผ ํ•ด๋‹น ์ขŒํ‘œ์˜ ์ƒ‰์ƒ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ XYํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ Queue๋ฅผ ์ด์šฉํ•  ๋•Œ ํŽธํ•˜๋„๋ก ํ•˜์˜€๋‹ค. Code import java.util.LinkedList; import java.util.Queue; class Solution { class XY { int x; int y; int value; // ํ•ด๋‹น ์ขŒํ‘œ์˜ ๊ทธ๋ฆผ XY(){}; XY(int x, int y, int value){ this.x = x; this.y = y; this.value = value.. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 2022 KAKAO BLIND RECRUITMENT ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/92334 ๋ฌธ์ œ์ ‘๊ทผ ์ผ๋‹จ ๋ฌธ์ œ๊ฐ€ ๊ณ ๋ คํ•ด์•ผ ํ•  ๊ฒƒ๋“ค์ด ๋งŽ์•„์„œ ์ฒ˜์Œ์—๋Š” ์‹ ๊ณ  ๋‹นํ•œ ํšŸ์ˆ˜, ์‹ ๊ณ ํ•œ ์‚ฌ๋žŒ, ์•Œ๋ฆผ ๋ฉ”์ผ์„ ๋ฐ›์„ ํšŸ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ฐ๋กœ map์„ ์ด์šฉํ•ด์„œ 3๊ฐœ์˜ map์„ ๋งŒ๋“ค์–ด์„œ ์ ‘๊ทผํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ๋ณต์žกํ•ด์„œ ๊ทธ๋ƒฅ 3๊ฐœ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ User ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋‹ˆ๊นŒ ๋” ์ƒ๊ฐํ•˜๊ธฐ ์‰ฌ์› ๊ณ  ๋‚ด๊ฐ€ ๋Š๋ผ๊ธฐ์—๋Š” ๋ณต์žกํ•จ์ด ๋งŽ์ด ์ค„์–ด๋“ค์—ˆ๋‹ค. Code import java.util.HashMap; import java.util.HashSet; class Solution { class User { HashSet report; // ์‹ ๊ณ ํ•œ .. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/12930# ๋ฌธ์ œ์ ‘๊ทผ ๋ฌธ์ž์—ด์„ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚˜๋ˆ ์ง„ ๋‹จ์–ด๋“ค์„ ๊ธฐ์ค€์œผ๋กœ ์ง์ˆ˜๋Š” ๋Œ€๋ฌธ์ž๋กœ, ํ™€์ˆ˜๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฌธ์ œ์ด๋‹ค. splitํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋‹จ์–ด๋ฅผ ๋‚˜๋ˆ„๊ณ , ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ง์ˆ˜, ํ™€์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•ด์„œ ๋Œ€๋ฌธ์ž,์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค. Code class Solution { public String solution(String s) { String[] words = s.split(" "); StringBuilder answer = new StringBuilder(); for(int i = 0; i answer.length()) // ์ž…๋ ฅ ๋ฌธ์ž์—ด ๋’ค์— ๊ณต๋ฐฑ์ด ๋” ์žˆ์„ ๊ฒฝ์šฐ answer... ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/12917 ๋ฌธ์ œ์ ‘๊ทผ ๋ฌธ์ž์—ด s๋ฅผ char[] ๋ฐฐ์—ด๋กœ ๋„ฃ์–ด์„œ Arrays.sort๋ฅผ ์ด์šฉํ•ด์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋’ค ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฐฐ์—ด temp๋ฅผ ์—ญ์ˆœ์œผ๋กœ result์— ํ•˜๋‚˜์”ฉ ๋”ํ•ด์ฃผ์—ˆ๋‹ค. Code import java.util.*; class Solution { public String solution(String s) { char[] temp = s.toCharArray(); Arrays.sort(temp); StringBuilder result = new StringBuilder(); for(int i= temp.length-1; i>=0; i--){ resul.. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ธฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/12915 ๋ฌธ์ œ์ ‘๊ทผ ๋ฌธ์ž์—ด์—์„œ n๋ฒˆ์งธ ๋ฌธ์ž๋กœ ๋จผ์ € ์ •๋ ฌํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌ์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์— sort ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ๋Š” ์ •๋ ฌ์„ ํ•  ์ˆ˜๊ฐ€ ์—†์–ด์„œ Comparator์— compareํ•จ์ˆ˜๋ฅผ ์ง์ ‘ ์ปค์Šคํ…€ํ•ด์„œ Arrays.sort๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. Code import java.util.*; class Solution { public String[] solution(String[] strings, int n) { Arrays.sort(strings,new Comparator() { @Override public int compare(String s1, String s2).. ๋”๋ณด๊ธฐ