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