๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€ 227

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold4] 5052๋ฒˆ_์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก

๋ฌธ์ œ https://www.acmicpc.net/problem/5052 5052๋ฒˆ: ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ t๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ t ≤ 50) ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 10000) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ๋ชฉ๋ก์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 5052๋ฒˆ ๋ฌธ์ œ - ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก import sys t = int(sys.stdin.readline()) for _ in range(t): n = int(sys.stdin.readline()) phone_book = [str(sys.stdin.readline().strip()) for _ in range(n)] # ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ›๋Š”๋‹ค. phone..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Silver4] 1302๋ฒˆ_๋ฒ ์ŠคํŠธ์…€๋Ÿฌ

๋ฌธ์ œ https://www.acmicpc.net/problem/1302 1302๋ฒˆ: ๋ฒ ์ŠคํŠธ์…€๋Ÿฌ ์ฒซ์งธ ์ค„์— ์˜ค๋Š˜ ํ•˜๋ฃจ ๋™์•ˆ ํŒ”๋ฆฐ ์ฑ…์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’์€ 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์ฑ…์˜ ์ œ๋ชฉ์ด ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜จ๋‹ค. ์ฑ…์˜ ์ œ๋ชฉ์˜ ๊ธธ์ด๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๊ณ  www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1302๋ฒˆ ๋ฌธ์ œ - ๋ฒ ์ŠคํŠธ์…€๋Ÿฌ n = int(input()) book = {} for _ in range(n): name = input() if name not in book: book[name] = 0 book[name] += 1 print(sorted(list(book.items()), key=lambda x : (-x[1],x[0]))[0][0]) sort๋ฅผ ์ด์šฉํ•ด..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold4] 4179๋ฒˆ_๋ถˆ!

๋ฌธ์ œ https://www.acmicpc.net/problem/4179 4179๋ฒˆ: ๋ถˆ! ์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋‘ ์ •์ˆ˜ R๊ณผ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 1 ≤ R, C ≤ 1000 ์ด๋‹ค. R์€ ๋ฏธ๋กœ ํ–‰์˜ ๊ฐœ์ˆ˜, C๋Š” ์—ด์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ๋‹ค์Œ ์ž…๋ ฅ์œผ๋กœ R์ค„๋™์•ˆ ๊ฐ๊ฐ์˜ ๋ฏธ๋กœ ํ–‰์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์ž www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 4179๋ฒˆ ๋ฌธ์ œ - ๋ถˆ! import sys from collections import deque input = sys.stdin.readline n, m = map(int, input().split()) graph = [] for i in range(n): graph.append(list(input().rstrip())) if 'J' in graph[i]: q..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Silver5] 7785๋ฒˆ_ํšŒ์‚ฌ์— ์žˆ๋Š” ์‚ฌ๋žŒ

๋ฌธ์ œ https://www.acmicpc.net/problem/7785 7785๋ฒˆ: ํšŒ์‚ฌ์— ์žˆ๋Š” ์‚ฌ๋žŒ ์ฒซ์งธ ์ค„์— ๋กœ๊ทธ์— ๊ธฐ๋ก๋œ ์ถœ์ž… ๊ธฐ๋ก์˜ ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. (2 ≤ n ≤ 106) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ์ถœ์ž… ๊ธฐ๋ก์ด ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„์ด ์ฃผ์–ด์ง€๊ณ  "enter"๋‚˜ "leave"๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. "enter"์ธ ๊ฒฝ์šฐ๋Š” www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 7785๋ฒˆ ๋ฌธ์ œ - ํšŒ์‚ฌ์— ์žˆ๋Š” ์‚ฌ๋žŒ n = int(input()) d = dict() for _ in range(n): name, status = map(str, input().split()) if status == 'enter': d[name] = status else: d[name] = 'leave' people = [] for ke..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Silver4] 11652๋ฒˆ_์นด๋“œ

๋ฌธ์ œ https://www.acmicpc.net/problem/11652 11652๋ฒˆ: ์นด๋“œ ์ค€๊ทœ๋Š” ์ˆซ์ž ์นด๋“œ N์žฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ˆซ์ž ์นด๋“œ์—๋Š” ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์ ํ˜€์žˆ๋Š”๋ฐ, ์ ํ˜€์žˆ๋Š” ์ˆ˜๋Š” -262๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 262๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ค€๊ทœ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์นด๋“œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๋งŽ์ด ๊ฐ€์ง€ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 11652๋ฒˆ ๋ฌธ์ œ - ์นด๋“œ n = int(input()) d = {} for i in range(n): card = int(input()) if card in d: d[card] += 1 else: d[card] = 1 result = sorted(d.items(), key = lambda x: (-x[1], x[0])) print(result[0][0]) ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉ..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Silver5] 11004๋ฒˆ_K๋ฒˆ์งธ ์ˆ˜

๋ฌธ์ œ https://www.acmicpc.net/problem/11004 11004๋ฒˆ: K๋ฒˆ์งธ ์ˆ˜ ์ˆ˜ N๊ฐœ A1, A2, ..., AN์ด ์ฃผ์–ด์ง„๋‹ค. A๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ–ˆ์„ ๋•Œ, ์•ž์—์„œ๋ถ€ํ„ฐ K๋ฒˆ์งธ ์žˆ๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 11004๋ฒˆ ๋ฌธ์ œ - K๋ฒˆ์งธ ์ˆ˜ import sys input = sys.stdin.readline n, k = map(int, input().split()) a = list(map(int, input().split())) a.sort() print(a[k-1]) ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ‘ํ•ฉ์ •๋ ฌ๋กœ ํ’€์–ด์•ผ ํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋‚˜๋Š” ์ผ€์ด์Šค๋ฅผ ํ†ต๊ณผํ•˜์˜€๋‹ค. ๋ณ‘ํ•ฉ์ •๋ ฌ์€ ๋‹ค์Œ ๋ฒˆ์— ๋‹ค๋ฃจ๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค.

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold4] 15683๋ฒˆ_๊ฐ์‹œ

๋ฌธ์ œ https://www.acmicpc.net/problem/15683 15683๋ฒˆ: ๊ฐ์‹œ ์Šคํƒ€ํŠธ๋งํฌ์˜ ์‚ฌ๋ฌด์‹ค์€ 1×1ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š” N×M ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ๋ฌด์‹ค์—๋Š” ์ด K๊ฐœ์˜ CCTV๊ฐ€ ์„ค์น˜๋˜์–ด์ ธ ์žˆ๋Š”๋ฐ, CCTV๋Š” 5๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. ๊ฐ CCTV๊ฐ€ ๊ฐ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 15683๋ฒˆ ๋ฌธ์ œ - ๊ฐ์‹œ import sys; input = sys.stdin.readline import copy # CCTV ์ข…๋ฅ˜๋ณ„, ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ๋ณ„ ๊ฐ์‹œ์˜์—ญ ์žฌ๊ท€์  ํƒ์ƒ‰ def dfs(graph, depth): global answer # ์ข…๋ฃŒ ์กฐ๊ฑด: ๋ชจ๋“  CCTV ํƒ์ƒ‰ if depth == len(cctv_list): # ์‚ฌ๊ฐ์ง€๋Œ€ ์ตœ์†Ÿ๊ฐ’ answer = mi..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold4] 1976๋ฒˆ_์—ฌํ–‰ ๊ฐ€์ž

๋ฌธ์ œ https://www.acmicpc.net/problem/1976 1976๋ฒˆ: ์—ฌํ–‰ ๊ฐ€์ž ๋™ํ˜์ด๋Š” ์นœ๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜ ์—ฌํ–‰์„ ๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค. ํ•œ๊ตญ์—๋Š” ๋„์‹œ๊ฐ€ N๊ฐœ ์žˆ๊ณ  ์ž„์˜์˜ ๋‘ ๋„์‹œ ์‚ฌ์ด์— ๊ธธ์ด ์žˆ์„ ์ˆ˜๋„, ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๋™ํ˜์ด์˜ ์—ฌํ–‰ ์ผ์ •์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์—ฌํ–‰ ๊ฒฝ๋กœ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ธ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 1976๋ฒˆ ๋ฌธ์ œ - ์—ฌํ–‰ ๊ฐ€์ž import sys sys.setrecursionlimit(10 ** 6) # a๊ฐ€ ์†ํ•œ ์ง‘ํ•ฉ๊ณผ b๊ฐ€ ์†ํ•œ ์ง‘ํ•ฉ ํ•ฉ์น˜๊ธฐ def union(x, y): x = find(x) y = find(y) # a์™€ b์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ๊ฐ™์œผ๋ฉด ๋™์ผํ•œ ์ง‘ํ•ฉ์ด๋ฏ€๋กœ ๋ฆฌํ„ด if x == y: return # ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ๋‘ ์ง‘ํ•ฉ์„ ํ•ฉ์นœ๋‹ค. else: parent..

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Gold4] 9935๋ฒˆ_๋ฌธ์ž์—ด ํญ๋ฐœ

๋ฌธ์ œ https://www.acmicpc.net/problem/9935 9935๋ฒˆ: ๋ฌธ์ž์—ด ํญ๋ฐœ ์ฒซ์งธ ์ค„์— ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋‘˜์งธ ์ค„์— ํญ๋ฐœ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๊ธธ์ด๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 36๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋‘ ๋ฌธ์ž์—ด์€ ๋ชจ www.acmicpc.net ํ’€์ด # ๋ฐฑ์ค€ 9935๋ฒˆ ๋ฌธ์ œ - ๋ฌธ์ž์—ด ํญ๋ฐœ import sys input = sys.stdin.readline # ์ž…๋ ฅ๊ฐ’ ์ฒ˜๋ฆฌ s = input().rstrip() bomb = input().rstrip() # stack์œผ๋กœ ๋ฌธ์ž์—ด ํญ๋ฐœ ๊ตฌํ˜„ stack = [] bomb_length = len(bomb) for char in s: stack.append(char) if ''..