๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

    [Java] 153. Find Minimum in Rotated Sorted Array

    ๋ฌธ์ œ ํŒŒ์•… rotated ๋œ ๋ฐฐ์—ด nums์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(logN) ์„ ๋งŒ์กฑํ•ด์•ผํ•œ๋‹ค. ํ’€์ด 1๏ธโƒฃ ์ด๋ถ„ ํƒ์ƒ‰์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea ์ด์ „์— ํ’€์—ˆ๋˜ Search in Rotated Sorted Array ๋ฌธ์ œ์˜ ์ผ๋ถ€๋ถ„๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ผ์„œ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋ถ„ ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, mid ์œ„์น˜์˜ ๊ฐ’๊ณผ right ์œ„์น˜์˜ ๊ฐ’์„ ๋น„๊ตํ•ด์„œ mid ๊ฐ’์ด ์ž‘์€ ๊ฒฝ์šฐ, mid ์œ„์น˜์˜ ์›์†Œ๋“ค์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํƒ์ƒ‰ ์˜์—ญ์„ ์™ผ์ชฝ ์˜์—ญ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค. class Solution { public int findMin(int[] nums) { int left = 0, right = nums.length - 1; while (le..

    [Java] 33. Search in Rotated Sorted Array

    ๋ฌธ์ œ ํŒŒ์•… ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ๋ฐฐ์—ด nums๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ธ๋ฑ์Šค k๋ฒˆ์งธ ์›์†Œ๊ฐ€ ์ œ์ผ ์ฒซ ์›์†Œ๊ฐ€ ๋˜๋„๋ก rotated ๋˜์–ด์žˆ๋‹ค. target ์ด ๋ฐฐ์—ด nums ์— ํฌํ•จ๋˜์–ด์žˆ๋Š”์ง€ O(logN) ์œผ๋กœ ํƒ์ƒ‰ํ•˜์—ฌ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. ํ’€์ด 1๏ธโƒฃ ์ด๋ถ„ ํƒ์ƒ‰์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea ๋จผ์ €, ์ฃผ์–ด์ง„ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๋งŒ์กฑํ•˜๊ธฐ ์œ„ํ•ด์„  ์ด๋ถ„ ํƒ์ƒ‰์„ ์‚ฌ์šฉํ•ด์•ผํ•จ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š”, target์ด nums์— ์กด์žฌํ•˜๋Š”์ง€๋ฅผ ์ด๋ถ„ ํƒ์ƒ‰ํ•ด์•ผํ•˜๋Š”๋ฐ ํŠน์ • ๊ฐ’์„ ํƒ์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด์„  ์ •๋ ฌ๋˜์–ด์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, rotated๋œ ๋ฐฐ์—ด์„ ์ •๋ ฌ๋œ ๋‘๊ฐœ์˜ ๋ฐฐ์—ด๋กœ ๋‚˜๋ˆ„๊ธฐ ์œ„ํ•ด ๋ฐฐ์—ด ๋‚ด์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค. ex) [4, 5, 6, 7, 0, 1, 2] ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ, [4, 5, 6, 7] ๊ณผ [0, 1, 2] ๋ฐฐ์—ด 2๊ฐœ๋กœ..

    [Java] 162. Find Peak Element

    ๋ฌธ์ œ ํŒŒ์•… ์ฃผ๋ณ€ ์›์†Œ๋“ค๋ณด๋‹ค ํฐ ์›์†Œ๋ฅผ peak element๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฌํ•œ ์›์†Œ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ๋ผ๋ฉด ์•„๋ฌด ์›์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(logN) ์ด ๋˜๋„๋ก ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค. ํ’€์ด 1๏ธโƒฃ ์ด๋ถ„ ํƒ์ƒ‰์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ํ†ตํ•ด ์ด๋ถ„ ํƒ์ƒ‰์„ ์ด์šฉํ•ด์•ผํ•จ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ณดํ†ต ์ด๋ถ„ํƒ์ƒ‰์€ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ๋งŒ ์‚ฌ์šฉํ•ด์™€์„œ, ์ด๋ถ„ ํƒ์ƒ‰์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„์ง€ ์˜ค๋žซ๋™์•ˆ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค. mid ํฌ์ธํŠธ ๊ฐ’์ด mid + 1 ํฌ์ธํŠธ ๊ฐ’๋ณด๋‹ค ์ž‘๋‹ค๋ฉด? mid ํฌ์ธํŠธ ๊ฐ’์€ peak element ๊ฐ€ ๋  ํ™•๋ฅ ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ mid+1 ์ด์ƒ์œผ๋กœ ์žก์•„์ค˜์•ผ ํ•  ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ, mid ํฌ์ธํŠธ ๊ฐ’์ด mid + 1 ํฌ์ธํŠธ ๊ฐ’ ๋ณด๋‹ค ํฌ๋‹ค๋ฉด mid ํฌ์ธํŠธ ๊ฐ’์€ peak element ..

    [Java] 148. Sort List

    ๋ฌธ์ œ ํŒŒ์•… ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ head๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์„œ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. ํ’€์ด 1๏ธโƒฃ ๋ฐฐ์—ด๊ณผ mergeSort ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea O(NlogN) ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ๋– ์˜ฌ๋ ค๋ดค๋‹ค. ํ•ด๋‹น ์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋Š” Merge Sort ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ ํŒ๋‹จํ–ˆ๋‹ค. class Solution { public ListNode sortList(ListNode head) { int cnt = getCount(head); System.out.println(cnt); int[] arr = new int[cnt]; ListNode dummyHead = new ListNode(0, head); ListNode node = head; for (int i = 0; i < cnt; i..

    ๋ณ‘ํ•ฉ ์ •๋ ฌ (Merge Sort) ์„ ๊ตฌํ˜„ํ•ด๋ณด์ž

    ์ •๋ ฌ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ๐Ÿ’ก ์ •๋ ฌ์˜ ์ข…๋ฅ˜์™€ ๋ฐฉ์‹ 1. ๋ฒ„๋ธ” ์ •๋ ฌ : 2๊ฐœ์˜ ์›์†Œ๋ฅผ ๊ณ„์† ๋น„๊ตํ•ด๋‚˜๊ฐ€๋ฉฐ ๊ฐ’์ด ํฐ ์›์†Œ๊ฐ€ ์•ž์— ์žˆ๋Š” ๊ฒฝ์šฐ ์œ„์น˜๋ฅผ ๊ตํ™˜ํ•œ๋‹ค. ์ œ์ผ ํฐ ๊ฐ’(์˜ค๋ฆ„์ฐจ์ˆœ์˜ ๊ฒฝ์šฐ)์„ ์ œ์ผ ๋’ค๋กœ ๋ณด๋‚ด์–ด ์ตœ์ข…์ ์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(N^2)์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ํ•œ๋ฒˆ ์ˆœํšŒํ–ˆ์„ ๋•Œ ๋‘ ์›์†Œ๊ฐ„ ์œ„์น˜๊ฐ€ ๋ณ€ํ•œ ์ ์ด ์—†๋‹ค๋ฉด ์ˆœํšŒ๋ฅผ ๋น ์ ธ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ์ตœ์ ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. 2. ์„ ํƒ ์ •๋ ฌ : ์›์†Œ๋“ค์„ ์ˆœํšŒํ•˜์—ฌ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ฐพ์€ ๋’ค(์„ ํƒ), ์ œ์ผ ์•ž ์›์†Œ์™€ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟˆ์œผ๋กœ์„œ ์ž‘์€ ๊ฐ’์ด ๊ณ„์† ์•ž์œผ๋กœ ์ด๋™ํ•˜๋ฉด์„œ ์ตœ์ข…์ ์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(N^2)์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 3. ์‚ฝ์ž… ์ •๋ ฌ : 2๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ N๋ฒˆ์งธ ์›์†Œ๊นŒ์ง€ N-1๊นŒ์ง€์˜ ..

    [JAVA] ๋ฐฑ์ค€ 22939๋ฒˆ ใ€G4.๋ฌธ์ œ ์ถ”์ฒœ ์‹œ์Šคํ…œ Version 1ใ€‘

    ๋ฌธ์ œ 21939๋ฒˆ: ๋ฌธ์ œ ์ถ”์ฒœ ์‹œ์Šคํ…œ Version 1 tony9402๋Š” ์ตœ๊ทผ ๊นƒํ—™์— ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ ๋ฌธ์ œ๋ฅผ ์ง์ ‘ ๋ฝ‘์•„์„œ "๋ฌธ์ œ ๋ฒˆํ˜ธ, ๋‚œ์ด๋„"๋กœ ์ •๋ฆฌํ•ด๋†จ๋‹ค. ๊นƒํ—™์„ ์ด์šฉํ•˜์—ฌ ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋งŒ๋“ค๋ ค๊ณ  ํ•˜๋Š” ๋ช…๋ น www.acmicpc.net ํ’€์ด 1๏ธโƒฃ TreeMap ๊ณผ TreeSet์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea 1. ์š”๊ตฌ์‚ฌํ•ญ์— ๊ฐ€์žฅ ๋‚œ์ด๋„๊ฐ€ ๋‚ฎ์€ ๊ฒƒ์—์„œ ๊ฐ€์žฅ ๋ฌธ์ œ๋ฒˆํ˜ธ๊ฐ€ ์ž‘์€ ๊ฒƒ๊ณผ ๊ฐ€์žฅ ๋‚œ์ด๋„๊ฐ€ ๋†’์€ ๊ฒƒ์—์„œ ๊ฐ€์žฅ ๋ฌธ์ œ๋ฒˆํ˜ธ๊ฐ€ ํฐ ๊ฒƒ์„ ์ถœ๋ ฅํ•˜๋ผ๊ณ  ํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋‚œ์ด๋„๋ฅผ key๋กœ ์ •๋ ฌํ•ด์ฃผ๋Š” TreeMap์•ˆ์— value๋กœ ๋ฌธ์ œ ๋ฒˆํ˜ธ์˜ ํฌ๊ธฐ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ๋Š” TreeSet์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. 2. ๋˜ํ•œ, solved ์š”์ฒญ ์‹œ ๋ฌธ์ œ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ง€์›Œ์•ผ ํ•˜๋Š”..

    [JAVA] ๋ฐฑ์ค€ 20166๋ฒˆ ใ€G4.๋ฌธ์ž์—ด ์ง€์˜ฅ์— ๋น ์ง„ ํ˜ธ์„ใ€‘

    ๋ฌธ์ œ 20166๋ฒˆ: ๋ฌธ์ž์—ด ์ง€์˜ฅ์— ๋น ์ง„ ํ˜ธ์„ K๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ, ์‹ ์ด ์ข‹์•„ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€์ด 1๏ธโƒฃ ๋ฐฑํŠธ๋ž˜ํ‚น๊ณผ map์„ ์ด์šฉํ•œ ํ’€์ด ์ด ๋ฌธ์ œ๋Š” ๋ฐฑํŠธ๋ž˜ํ‚น๊ณผ ํ•ด์‹œ๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ†ตํ•ด์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž์—ด์˜ ์กฐํ•ฉ๋ณ„ ๊ฐœ์ˆ˜๋ฅผ ๊ธฐ๋กํ•˜์˜€๋Š”๋ฐ, ๊ฒฝ๋กœ๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋‹ค๋ฅธ ๊ฒฝ์šฐ์˜ ์ˆ˜๋กœ ์น˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฐฑํŠธ๋ž˜ํ‚น์„ map์˜ ๊ฐ ํฌ์ธํŠธ์—์„œ ์‹œ์ž‘ํ•˜๋„๋ก ์„ค์ •ํ•˜์˜€๊ณ  ํƒˆ์ถœ ์กฐ๊ฑด์„ ์„ค์ •ํ•œ ๊ธธ์ด์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด, ์˜ˆ๋ฅผ ๋“ค์–ด (1,1) ์—์„œ ์‹œ์ž‘ํ•ด์„œ ๊ธธ์ด๊ฐ€ 2๋ฅผ ๋งŒ์กฑํ• ๋•Œ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ๋‹ค๋ฅธ ํฌ์ธํŠธ์—์„œ ์‹œ์ž‘ํ•œ ๊ธธ์ด๊ฐ€ 2์ธ ๊ฒฝ์šฐ์™€ ์ ˆ๋Œ€ ์ค‘๋ณต์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ ํŒ๋‹จํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. import java.io.*;..

    [Java] 242. Valid Anagram

    ๋ฌธ์ œ ํŒŒ์•… ๋‘ ๋ฌธ์ž์—ด s์™€ t๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฌธ์ž์—ด์„ ์ด๋ฃจ๋Š” ๋ฌธ์ž์˜ ์ข…๋ฅ˜์™€ ๊ฐœ์ˆ˜๊ฐ€ ๋™์ผํ•  ๋•Œ, Anagram ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ Anagram์ธ์ง€ ํŒ๋‹จํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ’€์ด 1๏ธโƒฃ map์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea s ๋ฌธ์ž์—ด์„ ์ชผ๊ฐ  ํ›„, ๊ฐ ๋ฌธ์ž๋ณ„ ๊ฐœ์ˆ˜๋ฅผ map์— ๊ธฐ๋กํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  t ๋ฌธ์ž์—ด์„ ์ชผ๊ฐ  ํ›„, ์ˆœํšŒํ•˜๋ฉด์„œ map์— ๊ธฐ๋ก๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๊ฐœ์ˆ˜๋ฅผ -1 ํ•œ๋‹ค. ๋งŒ์•ฝ, ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๊ฐœ์ˆ˜๊ฐ€ 0๋ฏธ๋งŒ์ด ๋˜๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋˜ํ•œ, ์• ์ดˆ์— ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. [Java] 383. Ransom Note ๋ฌธ์ œ ํŒŒ์•… ransomNote ๋ฌธ์ž์—ด์ด magazine ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋“ค๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์œผ๋ฉด true๋ฅผ, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. magazine์˜..

    [Java] 383. Ransom Note

    ๋ฌธ์ œ ํŒŒ์•… ransomNote ๋ฌธ์ž์—ด์ด magazine ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋“ค๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์œผ๋ฉด true๋ฅผ, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. magazine์˜ ๋ฌธ์ž๋Š” ์ค‘๋ณต์œผ๋กœ ์—ฌ๋Ÿฌ๋ฒˆ ์“ฐ์ผ ์ˆ˜ ์—†๋‹ค. ํ’€์ด 1๏ธโƒฃ map์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea magazine ๋ฌธ์ž์—ด์„ ๋ฌธ์ž๋กœ ์ชผ๊ฐ  ํ›„, map ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฌธ์ž ๋ณ„ ๊ฐœ์ˆ˜๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ransomNote ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ธฐ๋กํ•œ map ์ž๋ฃŒ๊ตฌ์กฐ์— ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์ฒดํฌํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๊ฐœ์ˆ˜๋ฅผ -1 ํ•œ๋‹ค. ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž๊ฐ€ ์—†๊ฑฐ๋‚˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ชจ์ž๋ฅธ ๊ฒฝ์šฐ false ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. import java.util.*; class Solution { public boolean canConstruct(String ransomNote, S..

    [Java] 219. Contains Duplicate II

    ๋ฌธ์ œ ํŒŒ์•… ์ •์ˆ˜ ๋ฐฐ์—ด์ธ nums ์—์„œ ๋‘ ์ธ๋ฑ์Šค์˜ ์ฐจ์ด๊ฐ€ k ์ดํ•˜์ด๋ฉด์„œ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์—†๋‹ค๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. ํ’€์ด 1๏ธโƒฃ Map์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea nums๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ map์— ๊ฐ’์„ key๋กœ ์ธ๋ฑ์Šค๋ฅผ value๋กœ ์ €์žฅํ•˜๊ณ , map์— ์ด๋ฏธ ์กด์žฌํ•˜๋ฉด ํ˜„์žฌ ์œ„์น˜์™€ map์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ธ๋ฑ์Šค์˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•ด์„œ ๋น„๊ตํ•ด๋ณธ๋‹ค. ๋งŒ์•ฝ, ์ธ๋ฑ์Šค๊ฐ„ ์ฐจ์ด๊ฐ€ k๋ณด๋‹ค ํฌ๋‹ค๋ฉด map์„ ๊ฐฑ์‹ ํ•ด์ค€๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ดํ›„์— ์ธ๋ฑ์Šค ์ฐจ์ด๊ฐ€ k ์ดํ•˜์ธ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. import java.util.*; class Solution { public boolean containsNearbyDuplicate(int[] nums, int k) { HashMap map = new HashMa..

    [Java] 1. Two Sum

    ๋ฌธ์ œ ํŒŒ์•… ์ •์ˆ˜ ๋ฐฐ์—ด nums ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋ฐฐ์—ด์˜ ๋‘ ์›์†Œ๋ฅผ ๋”ํ–ˆ์„ ๋•Œ, target์ด ๋˜๋Š” ๊ฐ’์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. ๋‹ต์€ ์ •ํ™•ํžˆ 1๊ฐœ ์กด์žฌํ•œ๋‹ค. ํ’€์ด 1๏ธโƒฃ HashMap ์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea ๊ฐ ๊ฐ’์„ key ๋กœ, ์ธ๋ฑ์Šค ๊ฐ’์„ value ๋กœ ์ €์žฅํ•˜๋Š” map์„ ์ •์˜ํ•œ๋‹ค. nums ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ target-nums[i] ๊ฐ€ map ์— ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์กด์žฌํ•œ๋‹ค๋ฉด ๋‹ต์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. import java.util.*; class Solution { public int[] twoSum(int[] nums, int target) { HashMap map = new HashMap(); for(int i=0;i a[0] - b[0]); int left = 0, right = nodes.l..

    [Java] 150. Evaluate Reverse Polish Notation

    ๋ฌธ์ œ ํŒŒ์•… ์—ญ ํด๋ž€๋“œ ํ‘œ๊ธฐ๋ฒ•์— ๋”ฐ๋ฅธ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. ์—ฐ์‚ฐ์ž๋ฅผ ๋งŒ๋‚˜๋ฉด ์ด์ „์— ๋งŒ๋‚ฌ๋˜ ์ˆซ์ž 2๊ฐœ๋ฅผ ์—ฐ์‚ฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์˜ˆ๋กœ, 4 13 5 / + ์˜ ๊ฒฝ์šฐ / ์—ฐ์‚ฐ์ž๋ฅผ ๋งŒ๋‚˜๊ธฐ ์ง์ „ 13 ๊ณผ 5๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ 13 / 5 ๋ฅผํ•ด์ฃผ๊ณ  ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ๋„ฃ์–ด์ฃผ๋ฉด 4 2 + ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  + ์—ฐ์‚ฐ์ž๋ฅผ ๋งŒ๋‚˜๊ธฐ ์ง์ „ 4์™€ 2๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ 4 + 2 ๋ฅผ ํ•œ ๊ฐ’์ธ 6์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค. ํ’€์ด 1๏ธโƒฃ ์Šคํƒ์„ ์ด์šฉํ•œ ํ’€์ด ๐Ÿ’ก ๋– ์˜ค๋ฅธ Idea ์—ญ ํด๋ž€๋“œ ํ‘œ๊ธฐ๋ฒ•์˜ ์—ฐ์‚ฐ ๋ฐฉ์‹ ์ƒ, ์Šคํƒ์„ ์ด์šฉํ•ด์„œ ํ’€์–ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋ฐ”๋กœ ๋“ค์—ˆ๋‹ค. ์—ฐ์‚ฐ์ž๋ฅผ ๋งŒ๋‚˜๋ฉด, ๊ฐ€์žฅ ๊ทผ์ฒ˜์— ์žˆ๋Š” ์ˆ˜๋ฅผ ๋’ค๋กœ ๋‘๊ณ  ์—ฐ์‚ฐํ•œ ๋‹ค์Œ, ๋‹ค์‹œ ์Šคํƒ์— ๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋  ๊ฒƒ์ด๋‹ค. import java.util.*; class Solution { Stack stac..

    [Java] 155. Min Stack

    ๋ฌธ์ œ ํŒŒ์•… O(1) ์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ํ•ด๋‹น ๋ฉ”์„œ๋“œ ๋“ค์„ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค. ํ’€์ด 1๏ธโƒฃ Stack ํด๋ž˜์Šค ์ด์šฉ ์œ„ ๋ฌธ์ œ์—์„œ, ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฉ”์„œ๋“œ๋Š” getMin() ๋ฉ”์„œ๋“œ์ด๋‹ค. ๋‹ค๋ฅธ, push(), pop(), top() ๋ฉ”์„œ๋“œ๋Š” ๊ธฐ์กด Stack ํด๋ž˜์Šค์—์„œ๋„ O(1) ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ, ์Šคํƒ์— ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ, ์ตœ์†Ÿ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  getMin() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋ฐ”๋กœ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ O(1)์„ ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ตœ์†Ÿ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์Šคํƒ์„ ๋”ฐ๋กœ ์ถ”๊ฐ€ํ•ด์„œ, ๊ฐ’์„ push ํ• ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ์œ„์น˜์˜ ์Šคํƒ ๊ฐ’๊นŒ์ง€์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ธฐ๋กํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค. import java.util.*; class MinStack { Stack stack; Stack stackForMin; pub..

    [JAVA] ๋ฐฑ์ค€ 13414๋ฒˆ ใ€S3.์ˆ˜๊ฐ•์‹ ์ฒญใ€‘

    ๋ฌธ์ œ 13414๋ฒˆ: ์ˆ˜๊ฐ•์‹ ์ฒญ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ํ‘œ์ค€ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ž…๋ ฅ์€ 1๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ž…๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๊ณผ๋ชฉ์˜ ์ˆ˜๊ฐ• ๊ฐ€๋Šฅ ์ธ์› K(1 ≤ K ≤ 100,000)์™€ ํ•™์ƒ๋“ค์ด ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ ์ˆœ์„œ๋ฅผ ๊ธฐ๋กํ•œ ๋Œ€๊ธฐ๋ชฉ www.acmicpc.net ํ’€์ด ๋จผ์ € ์ด ๋ฌธ์ œ๋Š”, ์ˆ˜๊ฐ• ์‹ ์ฒญ์„ ํ•œ ํ•™์ƒ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋„ฃ์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋ฏธ ๊ทธ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ํ•™์ƒ์ธ ๊ฒฝ์šฐ, ์ œ์ผ ๋’ท ์ˆœ์„œ๋กœ ๋‹ค์‹œ ์ง‘์–ด๋„ฃ์–ด์•ผ ํ•œ๋‹ค. ์ด ์•„์ด๋””์–ด๋Š”, ์ด ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ˆ„๊ตฌ๋‚˜ ๋– ์˜ฌ๋ ธ์„ํ…๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€๋ฆด ์ค„ ์•Œ์•˜๋Š”๋ฐ ์•„๋‹ˆ์—ˆ๋‹ค. 1๏ธโƒฃ map๊ณผ priority queue ์‚ฌ์šฉ set์„ ์ด์šฉํ•ด์„œ ์ค‘๋ณต์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ˆ˜๊ฐ• ์‹ ์ฒญ ์ˆœ์„œ๋ฅผ ํ™•์ธํ•  ์ˆœ ์—†๋‹ค. HashMap map = new HashMap()..

    [JAVA] ๋ฐฑ์ค€ 20366๋ฒˆ ใ€G3.๊ฐ™์ด ๋ˆˆ์‚ฌ๋žŒ ๋งŒ๋“ค๋ž˜?ใ€‘

    ๋ฌธ์ œ 20366๋ฒˆ: ๊ฐ™์ด ๋ˆˆ์‚ฌ๋žŒ ๋งŒ๋“ค๋ž˜? ๋†’์ด๊ฐ€ (2, 5), (3, 5)๋กœ ๊ตฌ์„ฑ๋œ ๋ˆˆ์‚ฌ๋žŒ ๋‘˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ตœ์ ์˜ ๊ฒฝ์šฐ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. |7-8| = 1 ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋กœ๋Š” (2, 9), (5, 5)๋กœ ๋‘ ๋ˆˆ์‚ฌ๋žŒ์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. |11-10| = 1 www.acmicpc.net ํ’€์ด 1๏ธโƒฃ ์กฐํ•ฉ์„ ์ด์šฉํ•œ ํ’€์ด ์ฃผ์–ด์ง„ ๋ˆˆ๋ฉ์ด ์ค‘ 2๊ฐœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ˆˆ์‚ฌ๋žŒ์˜ ๋†’์ด๋ฅผ ๋ชจ๋‘ ๊ตฌํ•œ๋‹ค. ๋‹จ, ๋‘ ์‚ฌ๋žŒ์ด ๊ฐ™์€ ๋ˆˆ๋ฉ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋ˆˆ๋ฉ์ด 4๊ฐœ๊ฐ€ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ๊ทธ๋ƒฅ ํ•ฉ์˜ ์กฐํ•ฉ๋งŒ ๊ตฌํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์„ ์ฒดํฌํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ์ธ๋ฑ์Šค์˜ ๋ˆˆ๋ฉ์ด๋กœ ๋ˆˆ์‚ฌ๋žŒ์„ ๋งŒ๋“ ๊ฑด์ง€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ, ํด๋ž˜์Šค๋ฅผ ์ƒˆ๋กญ๊ฒŒ ํ•˜๋‚˜ ์ •์˜ํ•ด์•ผํ•œ๋‹ค. static class SnowMan{ int idx1; int..