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

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Silver1] 11660๋ฒˆ_๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5

๋ฌธ์ œ https://www.acmicpc.net/problem/11660 ํ’€์ด # ๋ฐฑ์ค€ 11660๋ฒˆ ๋ฌธ์ œ - ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5 n, m = map(int, input().split()) graph = [] graph = [list(map(int, input().split())) for _ in range(n)] dp = [[0] * (n+1) for _ in range(n+1)] for i in range(1, n+1): for j in range(1, n+1): dp[i][j] = dp[i-1][j]+ dp[i][j-1] - dp[i-1][j-1] + graph[i-1][j-1] for i in range(m): x1, y1, x2, y2 = map(int, input().split()) result..

[Python] ํŒŒ์ด์ฌ ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue)

์šฐ์„ ์ˆœ์œ„ ํ (Priority Queue) โœ” ์šฐ์„ ์ˆœ์œ„ ํ? ํ์™€ ์Šคํƒ์ด๋‚˜ ๋น„์Šทํ•œ ์ž๋ฃŒํ˜•์ด์ง€๋งŒ, ๊ฐ ์›์†Œ๋“ค์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ์ด๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ์—์„œ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„ ์›์†Œ๋Š” ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„ ์›์†Œ๋ณด๋‹ค ๋จผ์ € ์ฒ˜๋ฆฌ๋œ๋‹ค. ๊ฐ™์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค๋ฉด, ๋จผ์ € ๋“ค์–ด์˜จ ์›์†Œ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ํž™(Heap)์ด๋ผ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ์ตœ์†Œํ•œ ๋‘ ๊ฐ€์ง€ ์—ฐ์‚ฐ์ด ์ง€์›๋˜์–ด์•ผ ํ•œ๋‹ค. ํ•˜๋‚˜์˜ ์›์†Œ๋ฅผ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ถ”๊ฐ€ํ•˜๋Š” ํ•จ์ˆ˜ (Push) ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„ ์›์†Œ๋ฅผ ํ์—์„œ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ (Pop) โœ” ํž™(Heap) ์ด๋ž€? ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ(Complete Binary Tree)๋กœ, ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๊ฐ’์ด ํ•ญ์ƒ ์ž์‹ ๋…ธ๋“œ๋“ค์˜ ๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜(Max Heap), ์ž‘์•„์•ผ..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Silver2] 18111๋ฒˆ_๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ

๋ฌธ์ œ https://www.acmicpc.net/problem/18111 18111๋ฒˆ: ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ํŒ€ ๋ ˆ๋“œ์‹œํ”„ํŠธ๋Š” ๋Œ€ํšŒ ์ค€๋น„๋ฅผ ํ•˜๋‹ค๊ฐ€ ์ง€๋ฃจํ•ด์ ธ์„œ ์ƒŒ๋“œ๋ฐ•์Šค ๊ฒŒ์ž„์ธ ‘๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ’๋ฅผ ์ผฐ๋‹ค. ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ๋Š” 1 × 1 × 1(์„ธ๋กœ, ๊ฐ€๋กœ, ๋†’์ด) ํฌ๊ธฐ์˜ ๋ธ”๋ก๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ 3์ฐจ์› ์„ธ๊ณ„์—์„œ ์ž์œ ๋กญ๊ฒŒ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 18111๋ฒˆ ๋ฌธ์ œ - ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ import sys input = sys.stdin.readline n, m, b = map(int, input().split()) # ์„ธ๋กœ, ๊ฐ€๋กœ, ๋ธ”๋ก ๊ฐœ์ˆ˜ graph = [] graph.append(list(map(int, input().split())) for _ in range(m)) answer = int(1e9) g_level =..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold5] 11000๋ฒˆ_๊ฐ•์˜์‹ค ๋ฐฐ์ •

๋ฌธ์ œ https://www.acmicpc.net/problem/11000 11000๋ฒˆ: ๊ฐ•์˜์‹ค ๋ฐฐ์ • ์ฒซ ๋ฒˆ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 200,000) ์ดํ›„ N๊ฐœ์˜ ์ค„์— Si, Ti๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 11000๋ฒˆ ๋ฌธ์ œ - ๊ฐ•์˜์‹ค ๋ฐฐ์ • import sys import heapq input = sys.stdin.readline if __name__ == "__main__": n = int(input()) schedule_list = [list(map(int, input().split())) for _ in range(n)] schedule_list.sort() room_queue = list() heapq.heappush(r..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Silver4] 10825๋ฒˆ_๊ตญ์˜์ˆ˜

๋ฌธ์ œ https://www.acmicpc.net/problem/10825 10825๋ฒˆ: ๊ตญ์˜์ˆ˜ ์ฒซ์งธ ์ค„์— ๋„ํ˜„์ด๋„ค ๋ฐ˜์˜ ํ•™์ƒ์˜ ์ˆ˜ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๊ฐ ํ•™์ƒ์˜ ์ด๋ฆ„, ๊ตญ์–ด, ์˜์–ด, ์ˆ˜ํ•™ ์ ์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ฃผ์–ด์ง„๋‹ค. ์ ์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1 www.acmicpc.net ํ’€์ด n = int(input()) score_list = [] for i in range(n): [name, kor, eng, math] = map(str, input().split()) score_list.append([name, int(kor), int(eng), int(math)]) sorted_score_list = sorted(score_list, key=la..

[์ž๊ฒฉ์ฆ] [SQLD] SQL ๊ธฐ์ดˆ

SQLDSELECT COLUMN1, ~ FROM TABLE;SUBSTR('STRING', INDEX, LENGTH)LTRIM() : ์™ผ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐRTRIM() : ์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ|| : ํ•ฉ์„ฑ ์—ฐ์‚ฐ์žex) 'S' || 'Q' || 'L' || 'D' => SQLDLOWER() : ์†Œ๋ฌธ์ž ๋ณ€๊ฒฝ / UPPER() : ๋Œ€๋ฌธ์ž ๋ณ€๊ฒฝCHR() : ์•„์Šคํ‚ค์ฝ”๋“œSYSDATE : ํ˜„์žฌ์˜ ๋…„, ์›”, ์ผ, ์‹œ, ๋ถ„, ์ดˆEXTRACT(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)ADD_MONTH() : ๊ฐœ์›”์ˆ˜๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋บ€ ๋‚ ์งœABS() : ์ ˆ๋Œ“๊ฐ’ / TRUNC() : ๋ฒ„๋ฆผ / CEIL() : ์˜ฌ๋ฆผ / FLOOR() : ์†Œ์ˆ˜์  ๋ฒ„๋ฆผ / MOD(NUM1, NUM2) : N1์„ N2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€COU..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold3] 1600๋ฒˆ_๋ง์ด ๋˜๊ณ ํ”ˆ ์›์ˆญ์ด

๋ฌธ์ œ https://www.acmicpc.net/problem/1600 1600๋ฒˆ: ๋ง์ด ๋˜๊ณ ํ”ˆ ์›์ˆญ์ด ์ฒซ์งธ ์ค„์— ์ •์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์— ๊ฒฉ์žํŒ์˜ ๊ฐ€๋กœ๊ธธ์ด W, ์„ธ๋กœ๊ธธ์ด H๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ ๋‹ค์Œ H์ค„์— ๊ฑธ์ณ W๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, 0์€ ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ํ‰์ง€, 1์€ ์žฅ์• ๋ฌผ์„ ๋œปํ•œ๋‹ค. ์žฅ์• ๋ฌผ์ด ์žˆ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1600๋ฒˆ ๋ฌธ์ œ - ๋ง์ด ๋˜๊ณ ํ”ˆ ์›์ˆญ์ด from collections import deque import sys input = sys.stdin.readline monkey_dx = [0, 1, 0, -1] monkey_dy = [1, 0, -1, 0] horse_dx = [-2, -1, 1, 2, 2, 1, -1, -2] horse_dy = [1, 2, 2, ..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold4] 17298๋ฒˆ_์˜คํฐ์ˆ˜

๋ฌธ์ œ https://www.acmicpc.net/problem/17298 17298๋ฒˆ: ์˜คํฐ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ˆ˜์—ด A์˜ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์— ์ˆ˜์—ด A์˜ ์›์†Œ A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 17298๋ฒˆ ๋ฌธ์ œ - ์˜คํฐ์ˆ˜ import sys input = sys.stdin.readline n = int(input()) a = list(map(int, input().split())) answer = [-1] * n stack = [] for i in range(n): while stack and a[stack[-1]] < a[i]: answer[stack.pop()] = a[i]..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold5] 2493๋ฒˆ_ํƒ‘

๋ฌธ์ œ https://www.acmicpc.net/problem/2493 2493๋ฒˆ: ํƒ‘ ์ฒซ์งธ ์ค„์— ํƒ‘์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1 ์ด์ƒ 500,000 ์ดํ•˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ํƒ‘๋“ค์˜ ๋†’์ด๊ฐ€ ์ง์„ ์ƒ์— ๋†“์ธ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์˜ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ํƒ‘๋“ค์˜ ๋†’์ด๋Š” 1 www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 2493๋ฒˆ ๋ฌธ์ œ - ํƒ‘ import sys input = sys.stdin.readline n = int(input()) tops = list(map(int, input().split())) answer = [0] * n stack = [] for i in range(len(tops)): while stack: if tops[stack[-1][0]] < tops[i]: sta..