๐์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค
[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..