์ „์ฒด ๊ธ€

๊น€ํ˜œ์ธ์€ ๋ฌด์—‡์„ ๊ณต๋ถ€ํ• ๊นŒ
๋ฌธ์ œ๋ฆฟ์ฝ”๋“œ 1338. Reduce Array Size to The Halfhttps://leetcode.com/problems/reduce-array-size-to-the-half/description/ ์ฝ”๋“œclass Solution(object): def minSetSize(self, arr): answer = 0 count_num = {} for num in arr: if num not in count_num.keys(): count_num[num] = 1 else: count_num[num] += 1 values = sorted(list(..
์˜ค๋ธŒ์ ํŠธ์ƒ์„ฑ์ž ์—†์ด ์ง์ ‘ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค.์˜ค๋ธŒ์ ํŠธ ๊ทธ ์ž์ฒด๊ฐ€ ๊ฐ์ฒด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ƒ์„ฑ์ž๊ฐ€ ํ•„์š” ์—†๋‹ค.ํด๋ž˜์Šค๋Š” ๋‚ด๋ถ€์— ์žˆ๋Š” ์†์„ฑ์ด๋‚˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์‹ค์ฒด๊ฐ€ ๋˜๋Š” ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค.ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ณ  ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ์œผ๋กœ ๊ณตํ†ต์ ์ธ ์†์„ฑ๊ณผ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ฝ”๋“œ์—์„œ๋Š” ํด๋ž˜์Šค๋ฅผ ์“ธ ํ•„์š” ์—†์ด ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์–ธ์–ด์ฐจ์›์—์„œ ์ง€์›ํ•˜๋Š”๊ฒƒ์ด๋‹ค.์‹ฑ๊ธ€ํ†ค ํŒจํ„ด : ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ๋‹จ ํ•˜๋‚˜๋งŒ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด  ์˜ค๋ธŒ์ ํŠธ ์˜ˆ์ œ์•„๋ฌด๊ณณ์—๋‚˜ ํ˜ธ์ถœํ•˜์—ฌ ํ˜ธ์ถœํ•œ ํšŸ์ˆ˜๋ฅผ ์„ธ๊ฑฐ๋‚˜ ์ดˆ๊ธฐํ™” ํ•  ์ˆ˜ ์žˆ๋Š” Counter๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž.์˜ค๋ธŒ์ ํŠธ๋Š” ๋ณ„๋„์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ธŒ์ ํŠธ ์ด๋ฆ„์— ์ง์ ‘ ์ฐธ์กฐ์—ฐ์‚ฐ์ž๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•œ๋‹ค.fu..
์Šค์ฝ”ํ”„ ํ•จ์ˆ˜๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์ „์— ๋žŒ๋‹ค ํ•จ์ˆ˜์˜ ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ ๋ช‡๊ฐ€์ง€๋ฅผ ์‚ดํŽด๋ณด์ž.๋žŒ๋‹ค ํ•จ์ˆ˜์˜ ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ๋“ค๋žŒ๋‹ค ํ•จ์ˆ˜๋„ ์ผ๋ฐ˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๊ตฌ๋ฌธ์ด ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฐธ๊ณ ๋กœ ๋žŒ๋‹ค ํ•จ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ ์ค„๋กœ ๊ตฌํ˜„๋œ๋‹ค๋ฉด ๋งˆ์ง€๋ง‰ ์ค„์˜ ๊ฒฐ๊ณผ๊ฐ’์ด ๋ฐ˜ํ™˜๋œ๋‹ค.val c: (Int, Int) -> Int = {a,b -> println("$a $b") println("์—ฌ๋Ÿฌ๊ตฌ๋ฌธ") println("์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋กฑ!") a+b // a+b๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค.}๋žŒ๋‹คํ•จ์ˆ˜์— ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด ์‹คํ–‰ํ•  ๊ตฌ๋ฌธ๋“ค๋งŒ ๋‚˜์—ดํ•˜๋ฉด ๋œ๋‹ค.val a:() -> Unit = {println("ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์Œ!!!")}ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํ•˜๋‚˜๋ฟ์ด๋ผ๋ฉด 'it'์„ ์‚ฌ์šฉํ•œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„์„ ์ƒ๋žตํ•˜๊ณ  'it'์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋กœ ๋Œ€์ฒด ๊ฐ€๋Šฅํ•˜๋‹ค.val c:(String) ->..
๊ณ ์ฐจํ•จ์ˆ˜ํ•จ์ˆ˜๋ฅผ ๋งˆ์น˜ ํด๋ž˜์Šค์—์„œ ๋งŒ๋“ค์–ด๋‚ธ ์ธ์Šคํ„ด์Šค(๊ฐ์ฒด)์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.ํ•จ์ˆ˜๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ(๋งค๊ฐœ๋ณ€์ˆ˜)์ดˆ ๋„˜๊ฒจ์ค„ ์ˆ˜๋„ ์žˆ๊ณ , ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜๋ฐ›์„ ์ˆ˜๋„ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ๋ชจ๋“  ํ•จ์ˆ˜๋ฅผ ๊ณ ์ฐจํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ณ ์ฐจํ•จ์ˆ˜ ๊ตฌํ˜„๋ฒ•fun main(){ b(::a)}fun a (str:String){ println("$str ํ•จ์ˆ˜ : a")}fun b (function: (String)->Unit) { function("b๊ฐ€ ํ˜ธ์ถœํ•œ")}์ถœ๋ ฅb๊ฐ€ ํ˜ธ์ถœํ•œ ํ•จ์ˆ˜ : aํ•จ์ˆ˜ a๋ฅผ ๊ณ ์ฐจํ•จ์ˆ˜ ํ˜•์‹์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค.ํ•จ์ˆ˜๋ฅผ ์ž๋ฃŒํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ ๊ด„ํ˜ธ ์•ˆ์— ํ•จ์ˆ˜๊ฐ€ ๋ฐ›์„ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ž๋ฃŒํ˜•์„ ๋‚˜์—ดํ•˜๊ณ  '->'๋กœ ํ™”์‚ดํ‘œ๋ฅผ ๋งŒ๋“  ๋’ค ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ํ˜•์„ ์“ฐ๋ฉด ๋œ๋‹ค.ํ•จ์ˆ˜ a๋Š” ๋ฐ˜ํ™˜ํ˜•์ด ์—†์œผ๋‹ˆ ๊ฐ’์ด..
์Šค์ฝ”ํ”„ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋‚ด์—์„œ ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค๋“ค์„ ์„œ๋กœ ๊ณต์œ ํ•˜๋ฉฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต์šฉ๋ฒ”์œ„๋ฅผ ์ œ์–ดํ•˜๋Š” ๋‹จ์œ„๋‹ค. ์Šค์ฝ”ํ”„๊ฐ€ ์ง€์ •๋˜๋Š” ๋ฒ”์œ„ํŒจํ‚ค์ง€ ๋‚ด๋ถ€ํŒจํ‚ค์ง€ ๋‚ด๋ถ€์— ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ํŒจํ‚ค์ง€ ๋‚ด๋ถ€์— ์žˆ๋Š” ์ด๋“ค์€ ๋ชจ๋‘ ํŒจํ‚ค์ง€ ๋ผ๋Š” ํ•˜๋‚˜์˜ ์Šค์ฝ”ํ”„ ์•ˆ์— ์žˆ๋Š” ๋ฉค๋ฒ„๋“ค์ด๋‹ค.ํด๋ž˜์Šค ๋‚ด๋ถ€ํด๋ž˜์Šค๋„ ์Šค์ฝ”ํ”„ ๊ธฐ๋Šฅ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.ํด๋ž˜์Šค ๋‚ด๋ถ€์— ๋ณ€์ˆ˜, ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์žˆ๋Š” ์ด๋“ค์€ ๋ชจ๋‘ ํด๋ž˜์Šค ๋ผ๋Š” ํ•˜๋‚˜์˜ ์Šค์ฝ”ํ”„ ์•ˆ์— ์žˆ๋Š” ๋ฉค๋ฒ„๋“ค์ด๋‹ค.ํŒจํ‚ค์ง€ ๋‚ด๋ถ€์— ์žˆ๋Š” ์Šค์ฝ”ํ”„ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ํด๋ž˜์Šค๋Š” ํ•˜์œ„ ์Šค์ฝ”ํ”„๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.ํ•จ์ˆ˜ ๋‚ด๋ถ€ํด๋ž˜์Šค์™€ ์Šค์ฝ”ํ”„์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋™์ผํ•˜๋‹ค. ์Šค์ฝ”ํ”„์— ๋Œ€ํ•œ ์„ธ๊ฐ€์ง€ ๊ทœ์น™์Šค์ฝ”ํ”„ ์™ธ๋ถ€์—์„œ๋Š” ์Šค์ฝ”ํ”„ ๋‚ด๋ถ€์˜ ๋ฉค๋ฒ„๋ฅผ '์ฐธ์กฐ ์—ฐ์‚ฐ์ž'๋กœ๋งŒ ์ฐธ์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.๋™์ผ ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ๋Š” ๋ฉค๋ฒ„๋“ค์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.val a ..
๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ"ํ”„๋กœ์ ํŠธ > ๋ชจ๋“ˆ > ํด๋” & ํŒŒ์ผ" ๊ตฌ์กฐ๊ฐ€ ์‹ค์ œ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๊ธฐ๋ฐ˜ํ•œ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์งค ๋•Œ ๊ด€๋ จ๋œ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋‹ด๋Š” ํฐ ํ‹€์ด๋‹ค. ๋ชจ๋“ˆํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ชจ๋“ˆ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.๋ชจ๋“ˆ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๊ตฌํ˜„ํ•  ์ˆ˜๋„, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ๋“ˆ์„ ์ด์šฉํ•ด ๋ถ™์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ํด๋” & ํŒŒ์ผ๋ชจ๋“ˆ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ํด๋”์™€ ํŒŒ์ผ์ด ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.์ฝ”ํ‹€๋ฆฐ ์ฝ”๋“œํŒŒ์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“ˆ๊ด€ ๊ด€๋ จ๋œ ์„ค์ • ๋ฐ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์ด ํฌํ•จ ๋  ์ˆ˜ ์žˆ๋‹ค. ๋…ผ๋ฆฌ์  ๊ตฌ์กฐํŒจํ‚ค์ง€ ํŒจํ‚ค์ง€๊ฐœ๋ฐœ ์‹œ ์†Œ์Šค์ฝ”๋“œ์˜ ์†Œ์†์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋‹ค.์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ•  ๋•Œ ์ฝ”๋“œ ์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„์ด ์šฉ๋„์— ๋”ฐ๋ผ ์„œ๋กœ ์ถฉ๋Œํ•˜์ง€ ์•Š๋„๋ก ์œ ๋‹ˆํฌํ•œ ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ๋ถ™์ด๋Š”๊ฒƒ์ด ์ข‹๋‹ค.์ผ๋ฐ˜์ ์œผ๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ์ง€์„ ๋•Œ๋Š” ๊ฐœ๋ฐœํ•œ ํšŒ์‚ฌ๊ฐ€ ..
๋ฌธ์ œ๋ฆฟ์ฝ”๋“œ 1845. Seat Reservation Managerhttps://leetcode.com/problems/seat-reservation-manager/  ์ฝ”๋“œimport heapqclass SeatManager: def __init__(self, n): self.can_reserve = list(range(1, n + 1)) heapq.heapify(self.can_reserve) def reserve(self): return heapq.heappop(self.can_reserve) def unreserve(self, seatNumber): heapq.heappush(self.can_reserve, seatNumber)..
๋ฌธ์ œ๋ฆฟ์ฝ”๋“œ 921. Minimum Add to Make Parentheses Valishttps://leetcode.com/problems/minimum-add-to-make-parentheses-valid/ ์ฝ”๋“œclass Solution(object): def minAddToMakeValid(self, s): s = deque(s) stack = [] item = s.popleft() stack.append(item) while s: item = s.popleft() if not stack: stack.append(item) else: ..
๋ฌธ์ œ2390. Removing Stars From a String https://leetcode.com/problems/removing-stars-from-a-string/ ์ฝ”๋“œclass Solution(object): def removeStars(self, s): s = list(s) while '*' in s: for i in range(len(s)-1): if s[i + 1] == '*': s.pop(i+1) s.pop(i) break return ''.join(s) ํ’€์ดs = list(s)๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ ๋ฌธ์ž..
๋ฌธ์ œ๋ฆฟ์ฝ”๋“œ 1823. Find the Winner of the Circular Gamehttps://leetcode.com/problems/find-the-winner-of-the-circular-game/solutions/ ์ฝ”๋“œclass Solution: def findTheWinner(self, n: int, k: int) -> int: circle = [i for i in range(1, n+1)] count = 1 turn = 0 while len(circle) != 1: if count == k: circle.pop(turn) count = 1 ..
๋ฌธ์ œ๋ฐฑ์ค€ ๊ฑธ๊ทธ๋ฃน ๋งˆ์Šคํ„ฐ ์ค€์„์ด https://www.acmicpc.net/problem/16165 ์ฝ”๋“œn, m = map(int, input().split()) # ๊ฑธ๊ทธ๋ฃน์˜ ์ˆ˜, ๋งžํ˜€์•ผ ํ•  ๋ฌธ์ œ์˜ ์ˆ˜idol_dic = {}for _ in range(n): team_name = input() team_member_num = int(input()) team_member = [] for _ in range(team_member_num): team_member.append(input()) idol_dic[team_name] = team_memberfor _ in range(m): quiz = input() quiz_type = int(input()) ..
๋ฌธ์ œ๋ฐฑ์ค€ ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ https://www.acmicpc.net/problem/1541 ์ฝ”๋“œformular = list(input())formular.append('-')have_to_sum = []have_to_sub = []operand = ''for letter in formular: if letter != '+' and letter != '-': operand += letter elif letter == '+': have_to_sum.append(int(operand)) operand = '' elif letter == '-': have_to_sum.append(int(operand)) have_to_sub.appen..
๋•ก๋•ก๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป
๐Ÿ€Greeny Dev๐Ÿ€