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

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

BOJ 17386 ์„ ๋ถ„ ๊ต์ฐจ 1, BOJ 17387 ์„ ๋ถ„ ๊ต์ฐจ 2 ํ•ด๋‹น ๋ฌธ์ œ๋Š” CCW๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.CCW์— ๋Œ€ํ•œ ์ž์„ธํ•œ ํฌ์ŠคํŠธ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ - ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ข…๋ฅ˜์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. CCW๋ฅผ ํ†ตํ•ด ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž. ์„ ๋ถ„์€ ๊ต์ฐจํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๊ต์ฐจํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋กœ ๊ฐ€๋ณ๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.๊ฐ๊ฐ์˜ ๋ฐฉํ–ฅ์„ ๋”ฐ์ ธ๋ณด์ž. ๊ต์ฐจํ•˜๋Š” ๊ฒฝ์šฐ CCW(A,B,C)๋Š” ์Œ์ˆ˜ CCW(A,B,D)๋Š” ์–‘์ˆ˜๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.๋˜ CCW(C,D,A)๋Š” ์–‘์ˆ˜, CCW(C,D,B)๋Š” ์Œ์ˆ˜๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์ฆ‰, ํ•œ ์„ ๋ถ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‹ค๋ฅธ ์„ ๋ถ„์˜ ๋ ์ ์ด ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ€ํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ๊ต์ฐจํ•œ๋‹ค๊ณ  ํŒ๋‹จ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ„๋‹จํžˆ ์„ ๋ถ„ AB๋งŒ ์˜ˆ์‹œ๋กœ ๋ณด์ž.๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ต์ฐจํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ CCW(A,B,C)์™€ CCW(A,B,D)๋Š” ๋ฌด์กฐ๊ฑด ๊ฐ™์€ ๋ฐฉํ–ฅ์„ ๋ณด๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด์ œ C.. 2025. 6. 30.
CCW (Counter Clock Wise) ์„ธ ์ ์˜ ๋ฐฉํ–ฅ์„ฑ์„ ํŒ๋‹จํ•˜๋Š” ๊ธฐํ•˜ํ•™์  ๋ฌธ์ œ CCW ๊ฐ’์— ์˜ํ•ด ์„ธ ์ ์ด ์–ด๋А ๋ฐฉํ–ฅ์œผ๋กœ ํ–ฅํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ณต์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.CCW(A, B, C) = (B.x - A.x) × (C.y - A.y) - (B.y - A.y) × (C.x - A.x)๊ฒฐ๊ณผ ๊ฐ’์— ๋”ฐ๋ผ ์–‘์ˆ˜: ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ, ์Œ์ˆ˜: ์‹œ๊ณ„ ๋ฐฉํ–ฅ, 0: ์ผ์ง์„ ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. CCW๊ฐ€ ์–ด๋–ป๊ฒŒ ๋„์ถœ๋˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.์ขŒ์ธก ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์ขŒํ‘œ๋ฅผ ๊ฐ€์ง„ ์„ธ ์ ์ด ์žˆ์„ ๋•Œ, A๋ฅผ ์›์ ์œผ๋กœ C์™€ B์˜ ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋œ๋‹ค. ๊ณต์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.A' = (0, 0) ← A์—์„œ A๋ฅผ ๋บ€ ๊ฒƒB' = (bx - ax, by - ay) ← B์—์„œ A๋ฅผ ๋บ€ ๊ฒƒ (6, 2) ์ด๋ผ๊ณ  ๊ฐ€์ •C' = (cx - ax, cy - ay) ← C์—์„œ A๋ฅผ ๋บ€ ๊ฒƒ (7, 3) ๋ผ.. 2025. 6. 30.
BOJ 1106 ํ˜ธํ…” https://www.acmicpc.net/problem/1106 ์œ ๋ช…ํ•œ ๋ฐฐ๋‚ญ ๋ฌธ์ œ์ด๋‹ค.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { static class Info { int cost; int additionalCustomers; public Info(int cost, int additionalCustomers) { this.cost = cost; this.additionalCustomers = additionalCustomers; } } .. 2025. 6. 28.
Unbounded Knapsack (๋ฌดํ•œ ๋ฐฐ๋‚ญ) ์ค‘์š” ํ‚ค์›Œ๋“œ:"๊ฐ ๋ฌผ๊ฑด์„ ๋ฌดํ•œ๊ฐœ ์„ ํƒ ๊ฐ€๋Šฅ""๊ฐ™์€ ๋ฌผ๊ฑด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉ""๋™์ „ ๊ตํ™˜", "์ตœ์†Œ ๊ฐœ์ˆ˜"์‹œ๊ฐ„ ๋ณต์žก๋„: O(nW)ํ•ต์‹ฌ ์•„์ด๋””์–ด:dp[w] = ๋ฌด๊ฒŒ w์—์„œ ์ตœ๋Œ€ ๊ฐ€์น˜ (๊ฐ™์€ ๋ฌผ๊ฑด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ) public class UnboundedKnapsack { // ์ตœ๋Œ€ ๊ฐ€์น˜ ๊ตฌํ•˜๊ธฐ public static int maxValue(int W, int[] weights, int[] values) { int[] dp = new int[W + 1]; for (int i = 0; i 2025. 6. 28.
[BOJ 9252] LCS2 ๋ฌธ์ œ ์ •๋ฆฌLCS(Longest Common Subsequence, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด) ๋ฌธ์ œ๋‘ ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค.๋ถ€๋ถ„ ์ˆ˜์—ด์„ ์ฐพ๋Š”๋‹ค.๊ทธ ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ์ฐพ๋Š”๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ACAYKP์™€ CAPCAK์˜ LCS๋Š” ACAK๊ฐ€ ๋œ๋‹ค.LCS์˜ ๊ธธ์ด์™€ LCS๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.์ œํ•œ ์‚ฌํ•ญ0.1s, java11: 0.4s๊ฐ ์ˆ˜์—ด = ์ตœ๋Œ€ 1000๊ธ€์žLCS๊ฐ€ 0์ธ ๊ฒฝ์šฐ, ๊ธธ์ด๋งŒ ์ถœ๋ ฅํ•ต์‹ฌ ํฌ์ธํŠธLCS๋ฅผ naiveํ•˜๊ฒŒ ์ฐพ์•„๋ณด์ž.A ์ˆ˜์—ด๊ณผ B ์ˆ˜์—ด์ด ์žˆ์„ ๋•Œ, B ์ˆ˜์—ด๋กœ A ์ˆ˜์—ด์˜ LCS๋ฅผ ์ฐพ๋Š”๋‹ค๋ฉด O(N^3)์ด ๋ฐœ์ƒํ•œ๋‹ค.B ์ˆ˜์—ด์˜ ๊ฐ ๊ธ€์ž๋ฅผ ์ฒซ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธ€์ž๋กœ ์ƒ๊ฐํ•˜๊ณ  ์ฐพ๋Š”๋‹ค๋ฉด 1000 ๊ธ€์ž์— ๋Œ€ํ•ด ๊ฐ ๊ฐ 1000 - i ๊ธ€์ž ์ˆ˜๋ฅผ ์—ฐ์‚ฐํ•ด์•ผ ๋œ๋‹ค. (N^2)๊ฐ N^2์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธ€์ž๊ฐ€ A ์ˆ˜์—ด์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•œ๋‹ค. (N.. 2025. 4. 8.
[BOJ 17406] ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 4 ๋ฌธ์ œ ์ •๋ฆฌ๋ฐฐ์—ด์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•œ๋‹ค.๋ฐฐ์—ด์˜ ์ตœ์†Ÿ๊ฐ’์€ ๊ฐ ํ–‰์˜ ๋ชจ๋“  ์›์†Œ์˜ ํ•ฉ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ด๋‹ค.๋ฐฐ์—ด์ด ์ฃผ์–ด์ง€๋ฉด k๋ฒˆ์˜ ํšŒ์ „์„ ํ•œ๋‹ค.๊ฐ ํšŒ์ „์€ r, c, s ๊ฐ’์œผ๋กœ ํšŒ์ „ํ•œ๋‹ค.(r-s, c-s) ๋ถ€ํ„ฐ (r+s, c+s) ๊นŒ์ง€ ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•œ๋‹ค.ํšŒ์ „ ์—ฐ์‚ฐ์ด ๋‘ ๊ฐœ ์ด์ƒ์ด๋ฉด, ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ํšŸ์ˆ˜์— ๋”ฐ๋ผ ์ตœ์ข… ๋ฐฐ์—ด์ด ๋‹ฌ๋ผ์ง„๋‹ค.์ œํ•œ ์‚ฌํ•ญ3 ≤ N, M ≤ 501 ≤ K ≤ 61 ≤ A[i][j] ≤ 1001 ≤ s1 ≤ r-s 1 ≤ c-s ํ•ต์‹ฌ ํฌ์ธํŠธ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ด ์กด์žฌํ•˜๋ฏ€๋กœ ๋ฐฑํŠธ๋ž˜ํ‚น๋ฐฑํŠธ๋ž˜ํ‚น์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์—ฐ์‚ฐ ๊ณผ์ •์ด ์ ์œผ๋ฏ€๋กœ ์™„์ „ ํƒ์ƒ‰ ๊ฐ€๋Šฅ๋ฐฐ์—ด ํšŒ์ „์˜ ์ตœ์ข… ๊ฒฐ๊ณผ๋กœ ์ตœ์ข… ๋ฐฐ์—ด์„ ํš๋“ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€์ง€์น˜๊ธฐ ํ•„์š” ์—†์Œ.๋ฐฐ์—ด ํšŒ์ „์— ๋Œ€ํ•œ ๊ตฌํ˜„๋ ฅ ํ•„์š”ํ•ต์‹ฌ ๋กœ์ง๋ฐฑํŠธ๋ž˜ํ‚น์„ ํ†ตํ•ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ํšŒ์ „ ์ƒํƒœ ์ €.. 2025. 4. 3.
[BOJ 1826] ์—ฐ๋ฃŒ ์ฑ„์šฐ๊ธฐ ๋ฌธ์ œ ์ •๋ฆฌํŠธ๋Ÿญ์œผ๋กœ ๋งˆ์„๊นŒ์ง€ ์ด๋™ ์ค‘ 1KM๋ฅผ ์ด๋™ ํ•  ๋•Œ๋งˆ๋‹ค 1L์˜ ์—ฐ๋ฃŒ๊ฐ€ ๋น ์ ธ ๋‚˜๊ฐ€๋Š” ์ƒํ™ฉ์ด๋™ํ•˜๋Š” ๊ณณ๊ณณ์— N๊ฐœ์˜ ์ฃผ์œ ์†Œ๊ฐ€ ์กด์žฌํŠธ๋Ÿญ์€ ์ถฉ์ „ ํ•  ๋•Œ ๋งˆ๋‹ค ์—ฐ๋ฃŒ๋ฅผ ์ถฉ๋ถ„ํžˆ ์ถฉ์ „ํ•  ์ˆ˜ ์žˆ์Œ.๊ฐ ๊ฐ์˜ ์ฃผ์œ ์†Œ ์œ„์น˜์™€ ์—ฐ๋ฃŒ์˜ ์–‘์ด ์ฃผ์–ด ์งˆ ๋•Œ, ์ตœ์†Œํ•œ์œผ๋กœ ์ถฉ์ „ํ•˜๋Š” ํšŸ์ˆ˜ ๊ตฌํ•˜๊ธฐ๋งˆ์„์— ๋„์ฐฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ -1์ œํ•œ ์‚ฌํ•ญ ์ œํ•œ์‚ฌํ•ญ 1: ์ฃผ์œ ์†Œ ๊ฐœ์ˆ˜ 1 ์ œํ•œ์‚ฌํ•ญ 2: ์ฃผ์œ ์†Œ ์œ„์น˜ 1 ์ œํ•œ์‚ฌํ•ญ 3: ์ฃผ์œ ์†Œ ์—ฐ๋ฃŒ 1 ์ œํ•œ์‚ฌํ•ญ 4: ํ˜„์žฌ ์œ„์น˜์—์„œ ๋งˆ์„๊นŒ์ง€ ๊ฑฐ๋ฆฌ 1 ์ œํ•œ์‚ฌํ•ญ 5: ํ˜„์žฌ ํŠธ๋Ÿญ์˜ ์—ฐ๋ฃŒ๋Ÿ‰ 1 ํ•ต์‹ฌ ํ‚คํฌ์ธํŠธ์ถฉ๋ถ„ํžˆ ๋งŽ์ด ์ถฉ์ „ -> ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ด์ต, ๊ทธ๋ฆฌ๋””์˜ ํ•ต์‹ฌํ•ต์‹ฌ ํฌ์ธํŠธ๊ฑฐ๋ฆฌ์™€ ์—ฐ๋ฃŒ ์ค‘ ์–ด๋А ๊ฒƒ์„ ํฌ์ปค์Šค๋กœ ๋‘์–ด์•ผํ•˜๋Š”๊ฐ€?์˜์‹ฌํ•ด์•ผ ํ•  ํฌ์ธํŠธ 1: ๊ฐ€์žฅ ๋งŽ์€ ์—ฐ๋ฃŒ๋ฅผ ์–ป๋Š” ๊ฒƒ์ด ์ข‹์€๊ฐ€?์˜์‹ฌํ•ด์•ผ ํ•  ํฌ์ธํŠธ 2: ๊ฐ€์žฅ ๋ฉ€๋ฆฌ.. 2025. 3. 31.
[BOJ 20207] ๋‹ฌ๋ ฅ ๋ฌธ์ œ ์ •๋ฆฌ๋‚ ์งœ๊ฐ€ 1์ผ ~ 365์ผ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š” ๋‹ฌ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.์˜ฌํ•ด ์ผ์ •์„ ๋ชจ๋‘ ๊ณ„ํšํ•ด์„œ ๋‹ฌ๋ ฅ์— ํ‘œ์‹œํ•จ.๋‚ ์”จ๋กœ ์ธํ•ด ๋‹ฌ๋ ฅ์— ํ‘œ์‹œํ•œ ์ผ์ • ์ค‘ ์ผ๋ถ€๊ฐ€ ์ง€์›Œ์ง€๋ ค๊ณ  ํ•จ.๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ผ์ •์ด ์žˆ๋Š” ๊ณณ์—๋งŒ ์ฝ”ํŒ…์ง€๋ฅผ ๋‹ฌ๋ ฅ์— ๋ถ™์ด๋ ค๊ณ  ํ•จ.๋„ˆ๋ฌด ๊ท€์ฐฎ์€ ํƒ“์— ์•„๋ž˜์™€ ๊ฐ™์€ ๊ทœ์น™์„ ๋”ฐ๋ผ ์ฝ”ํŒ…์ง€๋ฅผ ๋ถ™์ด๋ ค๊ณ  ํ•œ๋‹ค.์—ฐ์†๋œ ์ผ์ •์„ ๋ชจ๋‘ ๊ฐ์Œ€ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ง์‚ฌ๊ฐํ˜•์˜ ์ฝ”ํŒ…์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋ถ™์ธ๋‹ค.์—ฐ์†๋œ ๋‘ ์ผ์ž์— ๊ฐ ๊ฐ ์ผ์ •์ด 1๊ฐœ ์ด์ƒ์žˆ๋‹ค๋ฉด, ์—ฐ์†๋œ ์ผ์ •์ด๋‹ค.์—ฐ์†๋œ ๋ชจ๋“  ์ผ์ •์€ ํ•˜๋‚˜์˜ ์ง์‚ฌ๊ฐํ˜•์— ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค.๋‹ฌ๋ ฅ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค.์ผ์ •์€ ์‹œ์ž‘ ๋‚ ์งœ์™€ ์ข…๋ฃŒ ๋‚ ์งœ๋ฅผ ํฌํ•จํ•œ๋‹ค.์‹œ์ž‘์ผ์ด ๊ฐ€์žฅ ์•ž์„  ์ผ์ •๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์ฑ„์›Œ์ง„๋‹ค.์‹œ์ž‘์ผ์ด ๊ฐ™์€ ๊ฒฝ์šฐ ์ผ์ •์˜ ๊ธฐ๊ฐ„์ด ๊ธด ๊ฒƒ๋ถ€ํ„ฐ ์ฑ„์›Œ์ง„๋‹ค.์ผ์ •์€ ๊ฐ€๋Šฅํ•œ ํ•œ ์ตœ ์ƒ๋‹จ์— ๋ฐฐ์น˜๋œ๋‹ค.์ผ์ •.. 2025. 3. 31.
๋งํ•ด๋ณด์นด ์˜ค๋‹ต๋…ธํŠธ 11์‹œ ๊นŒ์ง€๋Š” ๋Œ์•„์˜ฌ๊ฒŒWe'll be back ___ eleven.๋”๋ณด๊ธฐin - ์‹œ๊ฐ์ด ์•„๋‹Œ, ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. in one hours -> 1์‹œ๊ฐ„ ์•ˆ์—on - on ๋’ค์—๋Š” ๋ณดํ†ต '์š”์ผ' ๋˜๋Š” '๋‚ ์งœ'๊ฐ€ ๋‚˜์™€์•ผํ•œ๋‹ค. ์‹œ๊ฐ„์—๋Š” on์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.at - 11์‹œ์— ๋Œ์•„์˜จ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค. ์ •๋‹ต์€ by์˜€๋‹ค. ~ ๊นŒ์ง€๋Š”์„ ๋‚˜ํƒ€ ๋‚ผ ๋•Œ๋Š” by๋ฅผ ์จ์•ผํ•œ๋‹ค.๋„ˆ๋ฌด ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”. ์ €๋„ ์ € ์ž์‹ ์€ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ์–ด์š”.Stop worrying so much. I can ___ myself.๋”๋ณด๊ธฐguard - guard๋Š” ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค๋Š” ๋А๋‚Œ์œผ๋กœ ์“ฐ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.safe - ์•ˆ์ „ํ•œ ์ด๋ผ๋Š” ํ˜•์šฉ์‚ฌ์ด๋ฏ€๋กœ ํ˜„์žฌ๋Š” ์˜ณ์ง€ ์•Š์€ ๋ฌธ๋ฒ•์ด์—ˆ๋‹ค.safety - ์•ˆ์ „์ด๋ผ๋Š” ๋ช…์‚ฌ์˜€๋‹ค...save - ๊ตฌํ•˜๋‹ค๋ผ๋Š” ๋œป์œผ๋กœ ์œ„๊ธฐ์—์„œ .. 2025. 1. 4.