Seize your moment! ๐Ÿ‘พ

์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์ œ ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€/Algorithm 32

[Eric's ๋ฐฑ์ค€] 10814๋ฒˆ - ๋‚˜์ด์ˆœ ์ •๋ ฌ - Java

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ์ œ๊ฐ€ ํ’€์–ด๋ณผ ๋ฌธ์ œ๋Š” ์ •๋ ฌ ๋ฌธ์ œ ๋ฐฑ์ค€ 10814๋ฒˆ ๋‚˜์ด์ˆœ ์ •๋ ฌ ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์šฐ์„  N์„ ๋ฐ›๊ณ ๋‚˜์„œ for๋ฌธ์„ ํ†ตํ•ด์„œ ํ•ด๋‹น ํšŒ์›์ •๋ณด๋ฅผ ๋ฐ›๊ณ ์„œ class Information ์ด๋ผ๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ ๋ฐ›์•„์„œ ํ•ด๋‹น ํด๋ž˜์Šค์—์„œ Comparable ์˜ compareTo ๋ฉ”์†Œ๋“œ๋ฅผ Override ํ•ด์„œ ์ •๋ ฌ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

[Eric's ๋ฐฑ์ค€] 1157๋ฒˆ - ๋‹จ์–ด๊ณต๋ถ€ - Java

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ์ œ๊ฐ€ ํ’€์–ด๋ณผ ๋ฌธ์ œ๋Š” ๋ฌธ์ž์—ด ๋ฌธ์ œ ๋ฐฑ์ค€ 1157๋ฒˆ ๋‹จ์–ด ๊ณต๋ถ€ ๋ผ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค! ์ €๋Š” ํ•ด๋‹น๋ฌธ์ œ๋ฅผ HashMap ์„ ์ด์šฉํ•ด์„œ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค! ๋˜ํ•œ toUpperCase ์™€ toCharArray ๋„ ์ด์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค! ์šฐ์„  ์ฃผ์–ด์ง„ ๋ฌธ์ž๋ฅผ ๋ฐ›์•„์„œ toUpperCase ๋กœ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋งŒ๋“ค๊ณ , ํ•ด๋‹น ๋ฌธ์ž๋“ค์„ toCharArray ๋กœ ๊ฐ๊ฐ์˜ char ๋กœ ์ž˜๊ฒŒ ์ž๋ฅธ๋‹ค์Œ์— HashMap ์— key ๊ฐ’์„ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋„ฃ์Œ๊ณผ ๋™์‹œ์— ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์˜ ๊ฐœ์ˆ˜๋ฅผ value ๊ฐ’์œผ๋กœ ๋„ฃ์–ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  for๋ฌธ ์„ ํ†ตํ•ด์„œ keySet()์„ ์ด์šฉํ•˜์—ฌ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์€ ์•ŒํŒŒ๋ฒณ์„ char answer ๋กœ ๋ฐ›์•˜์œผ๋ฉฐ, ๋งŒ์•ฝ for๋ฌธ์„ ๋Œ๋‹ค๊ฐ€ max ๊ฐ’๊ณผ ๋™์ผํ•œ ๊ฐ’์ด ๋‚˜์˜ค๋ฉด ?๊ฐ€ ๋‹ต์œผ๋กœ ๋‚˜์˜ค๋„๋ก ์„ค์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค! ๋”..

[Eric's ๋ฐฑ์ค€] 2606๋ฒˆ - ๋ฐ”์ด๋Ÿฌ์Šค - Java

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค ์˜ค๋Š˜ ํ’€์–ด๋ณผ ๋ฌธ์ œ๋Š” ๋ฐฑ์ค€ 2606๋ฒˆ ๋ฐ”์ด๋Ÿฌ์Šค ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น๋ฌธ์ œ๋Š” dfs ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์ €๋Š” ๊ทธ๋ฆผ์„ ํ•˜๋‹จ๊ณผ ๊ฐ™์ด ๊ทธ๋ ค๊ฐ€๋ฉฐ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์ œ๊ฐ€ ๊ฒฐ๊ณผ๊ฐ’์—์„œ answer ๋ถ€๋ถ„์—์„œ -1 ์„ ํ•œ ์ด์œ ๋Š” 1๋ฒˆ ์ปดํ“จํ„ฐ๋Š” ์ด๋ฏธ ๊ฐ์—ผ๋œ ์ปดํ“จํ„ฐ ์ด๋ฏ€๋กœ -1 ์„ ์ œ๊ฑฐํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. boolean[] visited ๊ฐ’์ด true ์ธ ๊ฒฐ๊ณผ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์ฃผ์–ด ํ’€์–ด๋„ ์ƒ๊ด€์€ ์—†์Šต๋‹ˆ๋‹ค.

[Eric's ๋ฐฑ์ค€] 1260๋ฒˆ - DFS ์™€ BFS - Java

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค ์˜ค๋Š˜์€ ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. dfs ๋ž‘ bfs ๋ฅผ ์ฃผ์–ด์ง„ ์˜ˆ์‹œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ €๋Š” ์ง์ ‘ ๊ทธ๋ ค์„œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํ•˜๋‹จ์˜ ๋‘ ์‚ฌ์ง„ ์ค‘ ๊ฐ๊ฐ์ขŒ์ธก ๋ถ€๋ถ„์˜ ๊ทธ๋ฆผ์ด dfs ๋ฐฉ์‹์ด๋ฉฐ, ํ•˜๋‹จ์˜ ๋‘ ์‚ฌ์ง„ ์ค‘ ๊ฐ๊ฐ ์šฐ์ธก ๋ถ€๋ถ„์ด Queue๋ฅผ ์ด์šฉํ•œ bfs ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ตฌํ˜„ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

[Eric's ๋ฐฑ์ค€] 1269๋ฒˆ - ๋Œ€์นญ ์ฐจ์ง‘ํ•ฉ - Java

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ํ’€์–ด๋ณผ ๋ฌธ์ œ๋Š” ๋ฐฑ์ค€ 1269 ๋ฒˆ ๋Œ€์นญ ์ฐจ์ง‘ํ•ฉ ์ด๋ผ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ HashMap ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉ ํ•ด์„œ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์ง‘ํ•ฉ A๋ฅผ HashMap ์— ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ง‘ํ•ฉ B์™€ ๋น„๊ตํ•˜๋ฉด์„œ ์ค‘๋ณต๋˜๋Š” ๊ฐœ์ˆ˜๋ฅผ count ํ–ˆ์Šต๋‹ˆ๋‹ค. (int intersection ) ๊ทธ๋ฆฌ๊ณ  ์ •๋‹ต์œผ๋กœ๋Š” ์ง‘ํ•ฉ A์˜ ์›์†Œ ๊ฐœ์ˆ˜ + ์ง‘ํ•ฉ B์˜ ์›์†Œ์˜ ๊ฐœ์ˆ˜ - 2 * ์ค‘๋ณต ์›์†Œ ๊ฐœ์ˆ˜ ๋ฅผ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด, ๊ฒฐ๊ตญ์— ์ฐจ์ง‘ํ•ฉ์˜ ๊ฐœ์ˆ˜๋Š” ํ•˜๋‹จ์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์ ์šฉ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

[Eric's ๋ฐฑ์ค€] 14425๋ฒˆ - ๋ฌธ์ž์—ด ์ง‘ํ•ฉ - Java

์˜ค๋Š˜ ํ’€์–ด๋ณผ ๋ฌธ์ œ๋Š” ์ง‘ํ•ฉ๊ณผ ๋งต์ด๋ผ๋Š” ๋ฐฑ์ค€ 14425๋ฒˆ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์˜ค๋Š˜๋ถ€ํ„ฐ Scanner ๋Œ€์‹ ์— Buffered ~ ๋ฅผ ์‚ฌ์šฉ ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ํ•ด๋‹น ๋ฌธ์ œ์—์„œ ์ œ๊ฐ€ ํ’€์—ˆ๋˜ ๋ฐฉ์‹์€ ํ•ด์‰ฌ๋งต์„ ์ด์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ ๋ฌธ์ž๋ฅผ ์šฐ์„  HashMap ์— n๊ฐœ ๋„ฃ์€ ํ›„ m ๊ฐœ์˜ ๋ฌธ์ž๋ฅผ Hashmap ์˜ containsKey ๋ฅผ ์ด์šฉํ•˜์—ฌ count ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ‘ผ ๋ฐฉ์‹์€ ํ•˜๋‹จ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. key ๊ฐ’์„ String ๊ฐ’์œผ๋กœ ๋„ฃ์—ˆ์œผ๋ฉฐ, value ๊ฐ’์€ ๊ทธ๋ƒฅ ์˜๋ฏธ ์—†๋Š” 0์„ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค.

[Eric's ๋ฐฑ์ค€] 10809๋ฒˆ - ์•ŒํŒŒ๋ฒณ์ฐพ๊ธฐ - Java

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์•„์ฃผ ์‰ฌ์šด ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์˜ ๋ฌธ์ œ๋Š” ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ ๋ฌธ์ œ๋กœ์จ java์˜ indexOf ๋ฅผ ์ด์šฉํ•ด์„œ ์ €๋Š” ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ž…๋ ฅ๋˜๋Š” ๊ฐ’์˜ string ๊ฐ’์— indexOf ๋ฅผ ์ด์šฉํ•ด์„œ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ์ด ์žˆ๋‹ค๋ฉด ๊ทธ ๋ฌธ์ž์˜ ์œ„์น˜๊ฐ€ ๋‚˜์˜ฌ๊ฒƒ์ด๊ณ , ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ์ด ์—†๋‹ค๋ฉด ์ž๋™์œผ๋กœ indexOf ์˜ ๊ฐ’์ด -1 ์ด ๋‚˜์˜ฌ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €๋Š” for๋ฌธ์—์„œ i=0 ๋ถ€ํ„ฐ ๋Œ์ง€๋งŒ, ASCII code๋ฅผ ์ด์šฉํ•˜๊ธฐ์œ„ํ•ด์„œ i +97 ์„ํ•˜๊ณ  ์ด๋ฅผ char ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋ชจ๋‘ ์†Œ๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ๋‚˜์˜ค๊ธฐ๋กœ ํ•˜์˜€์œผ๋ฏ€๋กœ ASCII ์ฝ”๋“œ์— ๋งž๋Š” ๊ฐ’์ด ๋‚˜์˜ค๋ฉด indexOf ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ”๋กœ ์ถœ๋ ฅํ•˜๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค. import java.util.Scann..

[Eric's ๋ฐฑ์ค€] 3273๋ฒˆ - ๋‘ ์ˆ˜์˜ ํ•ฉ - Java

ํˆฌํฌ์ธํ„ฐ ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. import java.util.Arrays; import java.util.Scanner; public class N3273 { public static void main(String[] args) { N3273 T = new N3273(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } int x = kb.nextInt(); System.out.println(T.solution(n, arr, x)); } public int solution(int n, int[..

[Eric's ๋ฐฑ์ค€] 1712๋ฒˆ - ์†์ต๋ถ„๊ธฐ์  - Java

๋ฐฑ์ค€ 1712๋ฒˆ ๋ฌธ์ œ ์†์ต๋ถ„๊ธฐ์  ์ž…๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ•˜๋‹จ๊ณผ ๊ฐ™์ด ํ‘ผ ์ด์œ ๋Š” ๋งŒ์•ฝ b๊ฐ’์ด c๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์•„๋ฌด๋ฆฌ ๋ฌผ๊ฑด์„ ํŒ”์•„๋„ ์ด๋“์ด ๋‚˜์ง€ ์•Š๊ธฐ์— ๋ฐ”๋กœ -1 ์„ ๋ฆฌํ„ดํ•˜์˜€๊ณ , ๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ b -c ๋กœ price ๊ฐ’์„ ๊ตฌํ•ด์„œ a๋ฅผ price ๋กœ ๋‚˜๋ˆ„๊ณ  +1 ์„ ์ง„ํ–‰ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” a์—์„œ price ๋กœ ๋‚˜๋ˆ„์—ˆ์„๋•Œ์˜ ๋ชซ์ด ํŒ๋งคํ–ˆ์„๋•Œ์˜ ์†์ต๋ถ„๊ธฐ์ ์˜ ๋”ฑ ์ด์ „ ๊ฐ’์ด์—ฌ์„œ ์ด ๋ชซ์— 1์„ ๋”ํ•ด์„œ ๊ตฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. import java.util.Scanner; public class N1712 { public static void main(String[] args) { N1712 T = new N1712(); Scanner kb = new Scanner(System.in); int a = kb.nextInt(); in..

[Eric's ๋ฐฑ์ค€] 1806๋ฒˆ - ๋ถ€๋ถ„ํ•ฉ - Java

ํˆฌํฌ์ธํ„ฐ ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. import java.util.Scanner; public class N1806 { public static void main(String[] args) { N1806 T = new N1806(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int s = kb.nextInt(); // ํˆฌํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด์„œ ๋ฐฐ์—ด์„ ํ•œ์นธ ๋Š˜๋ฆผ int[] arr = new int[n+1]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } System.out.println(T.solution(n, s, arr)); } public int solution(int n, ..