๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1865๋ฒˆ: ์›œํ™€

    ๋ฌธ์ œ ํ’€์ด ๋ฒจ๋งŒ ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ ํ’€๋ฉด ๋œ๋‹ค. ๋‹จ, ์ผ๋ฐ˜์ ์ธ ๋ฒจ๋งŒ ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์•„๋‹Œ "์Œ์˜ ๊ฐ„์„  ์‚ฌ์ดํด"์ด ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋งŒ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. ๋˜ํ•œ "๋„๋กœ"๋Š” ์–‘๋ฐฉํ–ฅ์ด๊ณ  "์›œํ™€"์€ ๋‹จ๋ฐฉํ–ฅ์ž„์„ ์ฃผ์˜ํ•ด์„œ ์ž…๋ ฅ๋ฐ›์•„์•ผ ํ•œ๋‹ค. https://www.youtube.com/watch?v=Ppimbaxm8d8&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=13 ์ฝ”๋“œ from sys import stdin input = stdin.readline def bf(): for i in range(n): for j in range(len(edges)): cur, next, cost = edges[j] if dist[next] > dist[cur] + cost: dist[next] = ..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 5014๋ฒˆ: ์Šคํƒ€ํŠธ๋งํฌ

    ๋ฌธ์ œ ํ’€์ด ์ „ํ˜•์ ์ธ ๋„ˆ๋น„์šฐ์„  ํƒ์ƒ‰ ๋ฌธ์ œ, heap์„ ์ด์šฉํ•ด ํ’€์–ด๋ณด์•˜๋‹ค. ์ฝ”๋“œ from sys import stdin import heapq input = stdin.readline f, s, g, u, d = map(int, input().split()) visited = [False] * (f + 1) q = [(0, s)] visited[s] = True ans = "use the stairs" while q: cnt, now = heapq.heappop(q) if now == g: ans = cnt break if now - d > 0: if not visited[now - d]: visited[now - d] = True heapq.heappush(q, (cnt + 1, now - d)) if n..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1238๋ฒˆ: ํŒŒํ‹ฐ

    ๋ฌธ์ œ ํ’€์ด ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๋‹จ, ํ•™์ƒ๋“ค์ด ๋งˆ์„๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ฒฝ์šฐ๋„ ๊ตฌํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋•Œ์˜ ๊ฐ„์„ ์€ ์ฃผ์–ด์ง„ ์ž…๋ ฅ์˜ ์‹œ์ž‘์ ๊ณผ ๋์ ์„ ์„œ๋กœ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ from sys import stdin import heapq input = stdin.readline n, m, x = map(int, input().split()) toX = [[] for _ in range(n + 1)] #์ง‘์—์„œ ํŒŒํ‹ฐ ๋งˆ์„๋กœ ๊ฐ€๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ toHome = [[] for _ in range(n + 1)] #ํŒŒํ‹ฐ ๋งˆ์„์—์„œ ์ง‘์œผ๋กœ ๊ฐ€๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ for _ in range(m): a, b, t = map(int, input().split()) toX[a].append((b, t)) toHome[b].append((a..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 14938๋ฒˆ: ์„œ๊ฐ•๊ทธ๋ผ์šด๋“œ

    ๋ฌธ์ œ ํ’€์ด ๋‹ค์ต์ŠคํŠธ๋ผ ๋ฐฉ๋ฒ•๊ณผ ํ”Œ๋กœ์ด๋“œ-์™€์ƒฌ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ ์–ด์„œ ํ”Œ๋กœ์ด๋“œ-์™€์ƒฌ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€์—ˆ๋‹ค. ํ”Œ๋กœ์ด๋“œ-์™€์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•ˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋ฏ€๋กœ ํ’€์ด๋Š” ์ƒ๋žตํ•จ. ์ฝ”๋“œ from sys import stdin input = stdin.readline n, m, r = map(int, input().split()) items = list(map(int, input().split())) graph = [[1e9] * (n + 1) for _ in range(n + 1)] for _ in range(r): a, b, l = map(int, input().split()) graph[a][b] = l graph[b][a] = l for i in range(n + 1): for j in r..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 11444๋ฒˆ: ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ 6

    ๋ฌธ์ œ ํ’€์ด ๋ถ„ํ•  ์ •๋ณต์„ ์ด์šฉํ•œ ๊ฑฐ๋“ญ์ œ๊ณฑ์ด๋ฏ€๋กœ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ์ œ๊ณฑ์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ๋‹ค. ๋…ธํŠธ์— ๋„์ ์ด๋‹ค๊ฐ€ ์šฐ์—ฐํžˆ ๊ทœ์น™ ๋ฐœ๊ฒฌ!! n % 2 == 0 ์ธ ๊ฒฝ์šฐ Fn = F(n//2+1) ** 2 - F(n//2-1) ** 2 n%2 == 1 ์ธ ๊ฒฝ์šฐ Fn = F(n//2+1) ** 2 + F(n//2) ** 2 ๋ฉ”๋ชจ์ œ์ด์…˜๋„ ํ™œ์šฉํ•ด์•ผ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์ฝ”๋“œ dp = dict() def fibo(n): if dp.get(n) != None: return dp[n] if n == 0: return 0 if n == 1 or n == 2: return 1 if n % 2 == 0: dp[n // 2 + 1] = fibo(n // 2 + 1) % 1000000007 # ๋งจ ์ฒ˜์Œ์—๋Š” % 100000000..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 9251๋ฒˆ: LCS

    ๋ฌธ์ œ ํ’€์ด ACAYKP์˜ A์™€ CAPCAK์˜ C, CA, CAP, CAPC, CAPCAK ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ LCS๋ฅผ ๊ตฌํ•œ ๋’ค 2์ฐจ์› ๋ฐฐ์—ด์— ์ €์žฅ. (0, 0) : A, C์˜ LCS ๊ฐ’(0) ์ €์žฅ / (1, 0) : A, CA ์˜ LCS ๊ฐ’(1) ์ €์žฅ / (2, 0) : A, CAP ์˜ LCS ๊ฐ’(1) ์ €์žฅ ACAYKP์˜ AC, CAPCAK์˜ C, CA, CAP, CAPC, CAPCAK ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ LCS๋ฅผ ๊ตฌํ•œ ๋’ค 2์ฐจ์› ๋ฐฐ์—ด์— ์ €์žฅ. (0, 1) : AC, C ์˜ LCS ๊ฐ’(1) ์ €์žฅ / (1, 1) : AC, CA ์˜ LCS ๊ฐ’(1) ์ €์žฅ / (2, 1) : AC, CAP ์˜ LCS ๊ฐ’(1) ์ €์žฅ ์œ„ ๊ณผ์ •์„ ๋ฐ˜๋ณต ๊ทธ๋ฆผ์—์„œ ๋นจ๊ฐ„์ƒ‰ ๊ธ€์ž๋Š” ์ตœ์žฅ ๋ถ€๋ถ„ ์ˆ˜์—ด ๊ฒ€์€์ƒ‰ ๊ธ€์ž๋Š” ์ตœ์žฅ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธธ์ด ํŒŒ๋ž€์ƒ‰ ๊ธ€์ž๋Š” L..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1654๋ฒˆ: ๋žœ์„  ์ž๋ฅด๊ธฐ [์ด์ง„ ํƒ์ƒ‰]

    ๋‚ด ์ฝ”๋“œ def find(lans, n,h,m): high = h min = m mid = (high + min)//2 while min = n: min = mid + 1 elif sum < n: high = mid - 1 mid = (high + min)//2 return mid from sys import stdin k, n = map(int,stdin.readline().split()) lans = [] for i in range(k): lans.append(int(input())) high = max(lans) min = 1 mid1 = find(lans,n,high,min) print(mid1) ์ฒ˜์Œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ k,n = map(int,input().split()) lans = [] for i..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1157๋ฒˆ: ๋‹จ์–ด ๊ณต๋ถ€

    ๋‚ด๊ฐ€ ์“ด ์ฝ”๋“œ a = input().upper() s = list(set(a)) count = [] for i in range(len(s)): count.append(0) for j in range(len(a)): if(s[i] == a[j]): count[i]+=1 max = 0 for i in range(0, len(count)): if(count[max] 0) & (max != i): k = "?" print(k) ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์“ด ์ฝ”๋“œ n = input() n = n.upper() alpa='ABCDEFGHIJ..