๋ฌธ์ ๋งํฌhttps://leetcode.com/problems/letter-combinations-of-a-phone-number/description/ ๋ฌธ์ ์ค๋ช
๊ฐ๋จํ ๋ฐฑํธ๋ํน ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ๊ณผ์ ์ด๋ฒ ๋ฌธ์ ๋ ์ด๋ ต์ง๋ ์์๊ณ ํ
์คํธ์ผ์ด์ค๋ ์ ๋ถ ํต๊ณผ๋ฅผ ํ์ง๋ง ๋ฌธ์ ๋ฅผ ํ๊ธฐ์ํ ์ ๊ทผ์ ์กฐ๊ธ์ ์ด์ํ๊ฒ ํ ๋ถ๋ถ์ด ์์๊ธฐ์ ๊ทธ ๋ถ๋ถ์ ์ง๊ณ ๋์ด๊ฐ๊ณ ์ ํ๋ค. letters = [[],[],['a','b','c'],['d','e','f'],['g','h','i'],['j','k','l'],['m','n','o'],['p','q','r','s'],['t','u','v'],['w','x','y','z']]class Solution: def backtracking(arr,ans, digits,results): ..
์๊ณ ๋ฆฌ์ฆ
๊ณจ๋5 ๋ฌธ์ ์ด๋ค. ์ฝ๋dictionary = []puzzels = []flag = Truewhile True: s = input() if s == '#': break if s == '-': flag = False continue if flag: dictionary.append(s) else: puzzels.append(s)for puzzel in puzzels: candidates = [] for word in dictionary: puzzel_list = list(puzzel) flag = True for i in range(len(word)): if word[i] not in puzzel_list: flag = False ..
ํ์ด์ฌ์ผ๋ก ํผ ์ด์ ๋ ๊ฐ์๊ธฐ ์๊ณ ๋ฆฌ์ฆ์ ํ๊ณ ์ถ์ด์ ํ๋ค๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์
์ถ๋ ฅํ๊ธฐ ๊ท์ฐฎ์์์ด๋ค. n = int(input()) time = [] for _ in range(n): time.append(tuple(map(int, input().split()))) # print(time) time = sorted(time, key=lambda x: (x[0], x[1])) # print(time) cnt = 0 while len(time) > 0: start = time[0][0] end = time[0][1] del time[0] for i in range(len(time)): if time[i][0] >= end: start = time[i][0] end = time[i][1] del time[i] b..
๐ก ํ์ฌ ๋ ๋ฒจ1์์ ์ ๋ต๋ฅ ์ ์ผ ๋ฎ์ ๋ฌธ์ ์ฒ์ ์๋ํ๋ ๋ฐฉ๋ฒ function solution(bandage, health, attacks) { var answer = 0; let [prevAttackTime, prevDamage] = attacks[0]; attacks.shift(); dHealth = health; attacks.forEach(attack=>{ let [attackTime, damage] = attack; dHealth -= prevDamage; console.log(dHealth); if(attackTime - prevAttackTime >= bandage[0]){ dHealth += bandage[1] * (attackTime-prevAttackTime); dHealth += Ma..
https://www.codetree.ai/missions/2/problems/non-overlapping-two-rectangles?&utm_source=clipboard&utm_medium=text ์ฝ๋ํธ๋ฆฌ | ์ฝ๋ฉํ
์คํธ ์ค๋น๋ฅผ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ ์ ๊ตญ๊ฐ๋ํ๊ฐ ๋ง๋ ์ฝ๋ฉ ๊ณต๋ถ์ ๊ฐ์ด๋๋ถ ์ฝ๋ฉ ์์ด๋ณด๋ถํฐ ๊ฟ์ ์ง์ฅ ์ฝํ
ํฉ๊ฒฉ๊น์ง, ๊ตญ๊ฐ๋ํ๊ฐ ์์ ํ ์ปค๋ฆฌํ๋ผ์ผ๋ก ์ค๋นํด๋ณด์ธ์. www.codetree.ai ์ด ๋ฌธ์ ์ ์ด๋ ค์ ์์ ํ์์ ์งํํ๋ฉด ๋๋ค๊ณ ์๊ฐํ์ง๋ง ์๋ก ๋ค๋ฅธ ์ง์ฌ๊ฐํ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ๋จผ์ ๋ ์ค๋ฅธ naiveํ ํ์ด๋ฒ์ด for์ depth๊ฐ ๋งค์ฐ ๊น์ด์ง๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์ด๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๋ฉด ์ข์์ง ํ์ฐธ์ ๊ณ ๋ฏผํ๋ค.
https://www.codetree.ai/missions/2/problems/max-of-xor/submissions ์ฝ๋ํธ๋ฆฌ | ์ฝ๋ฉํ
์คํธ ์ค๋น๋ฅผ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ ์ ๊ตญ๊ฐ๋ํ๊ฐ ๋ง๋ ์ฝ๋ฉ ๊ณต๋ถ์ ๊ฐ์ด๋๋ถ ์ฝ๋ฉ ์์ด๋ณด๋ถํฐ ๊ฟ์ ์ง์ฅ ์ฝํ
ํฉ๊ฒฉ๊น์ง, ๊ตญ๊ฐ๋ํ๊ฐ ์์ ํ ์ปค๋ฆฌํ๋ผ์ผ๋ก ์ค๋นํด๋ณด์ธ์. www.codetree.ai n, m = map(int,input().split()) arr = list(map(int,input().split())) selected = [] ans = -1 def f(d): global ans if d == m: s = 0 for item in selected: s = s^item ans = max(ans,s) return for i in range(n): if arr[i] n..
https://www.codetree.ai/missions/2/problems/max-sum-of-numbers?&utm_source=clipboard&utm_medium=text ์ฝ๋ํธ๋ฆฌ | ์ฝ๋ฉํ
์คํธ ์ค๋น๋ฅผ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ ์ ๊ตญ๊ฐ๋ํ๊ฐ ๋ง๋ ์ฝ๋ฉ ๊ณต๋ถ์ ๊ฐ์ด๋๋ถ ์ฝ๋ฉ ์์ด๋ณด๋ถํฐ ๊ฟ์ ์ง์ฅ ์ฝํ
ํฉ๊ฒฉ๊น์ง, ๊ตญ๊ฐ๋ํ๊ฐ ์์ ํ ์ปค๋ฆฌํ๋ผ์ผ๋ก ์ค๋นํด๋ณด์ธ์. www.codetree.ai n = int(input()) arr = [] for i in range(n): arr.append(list(map(int,input().split()))) visited = [False] * n ans = -1 def f(d,s): global ans if d == n: ans = max(s,ans) return for i ..
์ฒ์์๋ ์์ ๋์ด๋ธ ํ๊ฒ ์ฝ๋๋ฅผ ์งฐ์๋ค. for i in range(n): for j in range(n): if i==j: continue if len(phone_book[i]) > len(phone_book[j]):continue if phone_book[i] == phone_book[j][0:len(phone_book[i])]: print(phone_book[i]) return False ํ์ง๋ง ์๊ฐ๋ณต์ก๋๊ฐ O(N^2)์ด๋ค ๋ณด๋ ํจ์จ์ฑ ํ
์คํธ์์ ๋จ์ด์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. def solution(phone_book): n = len(phone_book) phone_book.sort() for i in range(1,n): if phone_book[i-1] in phone_book[i] return..