์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฌธ์ œ ๋งํฌ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..
๊น€ํƒœ์ง„
'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก