bong-u/til

🏠 home 🐈 repository
new ν™•λ₯ κ³Ό 톡계
🏫 ν•™κ³Ό 곡뢀
자료의 정리와 μš”μ•½ 톡계 자료의 ꡬ뢄 μ–‘μ μžλ£Œ(quantitative data) λ˜λŠ” μˆ˜μΉ˜ν˜•μžλ£Œ(numerical data) μ΄μ‚°μžλ£Œ(μžλ…€ 수), μ—°μ†μžλ£Œ(ν‚€) 질적자료(qualitative data) λ˜λŠ” λ²”μ£Όν˜•μžλ£Œ(categorical data) λͺ…λͺ©μžλ£Œ(ν˜ˆμ•‘ν˜•, 성별), μˆœμ„œμžλ£Œ(학점, λΆ€μ„œν‰κ°€) λ³€μˆ˜μ˜ μ’…λ₯˜ 1all variables 2β”œβ”€β”€ numerical 3β”‚ β”œ-─ continuous (리터 수) 4β”‚ β””-─ discrete (λ‚˜λΌ 수) 5└─── categorical 6 β”œ-─ Nominal (성별) 7 β””-─ Ordinal (근무 ν•œ μ‹œκ°„ : 12-2) λ„μˆ˜λΆ„ν¬ν‘œ 자료의 νŠΉμ„±μ„ κΈ°μ€€μœΌλ‘œ μΌμ •ν•œ κ³„κΈ‰μœΌλ‘œ λ‚˜λˆ„κ³ , 각 계급에 λ„μˆ˜λ₯Ό λŒ€μ‘ν•˜μ—¬ μž‘μ„±ν•œ ν‘œ
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - kμ§„μˆ˜μ—μ„œ μ†Œμˆ˜ 개수 κ΅¬ν•˜κΈ° (L2)
🧠 Algorithm
1def convert10toN(n, k): 2 result = '' 3 while n > 1: 4 result = str(n%k)+ result 5 n = n // k 6 return (str(n)+result).lstrip('0') 7 8def is_prime(n): 9 if n <= 1: 10 return False 11 12 end = int(n**(1/2))+1 13 for i in range(2, end): 14 if n%i == 0: 15 return False 16 return True 17 18 19def solution(n, k): 20 A = convert10toN(n, k) 21 answer = 0 22 for i in A.
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - μ£Όμ°¨ μš”κΈˆ 계산 (L2)
🧠 Algorithm
1import math 2 3def diff(start, end): 4 sh, sm = map(int, start.split(':')) 5 eh, em = map(int, end.split(':')) 6 7 return (eh*60+em) - (sh*60+sm) 8 9def calc(time, baseTime, baseFee, unitTime, unitFee): 10 if time < baseTime: 11 return baseFee 12 time -= baseTime 13 return baseFee + math.ceil(time/unitTime)*unitFee 14 15def solution(fees, records): 16 cars = {} 17 for i in records: 18 time, car_num, _ = i.split(' ') 19 # μƒˆλ‘œ μž…μ°¨ ν•œ 경우 20 if not car_num in cars: 21 cars[car_num] = [0, time] 22 else: 23 # 좜차 ν›„ λ‹€μ‹œ μž…μ°¨ν•œ 경우 24 if cars[car_num][1] == '': 25 cars[car_num][1] = time 26 # μΆœμ°¨ν•œ 경우 27 else: 28 cars[car_num][0] += diff(cars[car_num][1], time) 29 cars[car_num][1] = '' 30 31 # 아직 μΆœμ°¨ν•˜μ§€ μ•Šμ€ μ°¨λŸ‰λ“€μ— λŒ€ν•΄ 23:59에 μΆœμ°¨ν•œ κ²ƒμœΌλ‘œ κ°„μ£Ό 32 for num in cars: 33 if cars[num][1] !
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - μ–‘κΆλŒ€νšŒ (L2)
🧠 Algorithm
1def solution(n, info): 2 # 각각 λͺ‡ 번 λ§žμΆ°μ•Ό 점수λ₯Ό μ–»λŠ”μ§€ μ €μž₯ν•˜μ˜€λ‹€ 3 goal_list = [i+1 for i in info] 4 5 cases = [] 6 7 def dfs(score, cnt, case): 8 # λͺ‡ 번째 μ μˆ˜μΈμ§€ λ‚˜νƒ€λ‚Έλ‹€ (0:10점, 1:9점, ...) 9 length = len(case) 10 if length == 11: 11 # ν™”μ‚΄ κ°œμˆ˜κ°€ λ‚¨μ•˜λ‹€λ©΄ 0점에 μ±„μ›Œμ€€λ‹€ 12 if cnt != n: 13 case[-1] += n-cnt 14 cases.append((score, case)) 15 return 16 # ν˜„μž¬ λ‹¨κ³„μ—μ„œ λͺ‡ 점 λ§žμ•„μ•Ό 점수λ₯Ό λ”°λŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚Έλ‹€ 17 goal = goal_list[length] 18 19 # 점수λ₯Ό λ”°λŠ” 경우 20 if cnt + goal <= n: 21 # λ”΄ 점수λ₯Ό 더해쀀닀 22 dfs(score+(10-length), cnt+goal, case+[goal]) 23 # μƒλŒ€κ°€ 점수λ₯Ό λ”°λŠ” 경우 24 if goal !
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 두 큐 ν•© κ°™κ²Œ λ§Œλ“€κΈ° (L2)
🧠 Algorithm
1from collections import deque 2 3def solution(queue1, queue2): 4 sum1, sum2 = sum(queue1), sum(queue2) 5 dq1 = deque(queue1) 6 dq2 = deque(queue2) 7 cnt = 0 8 9 while cnt <= len(queue1)*2+1 and sum1 != sum2: 10 if sum1 > sum2: 11 tmp = dq1.popleft() 12 dq2.append(tmp) 13 sum1 -= tmp 14 sum2 += tmp 15 elif sum1 < sum2: 16 tmp = dq2.popleft() 17 dq1.append(tmp) 18 sum1 += tmp 19 sum2 -= tmp 20 cnt += 1 21 22 return cnt if sum1 == sum2 else -1 문제 길이가 같은 두 큐가 μ£Όμ–΄μ§„λ‹€ 두 큐의 합이 같아지도둝 큐의 μ›μ†Œλ₯Ό κ΅ν™˜ν•  수 μžˆλŠ” μ΅œμ†Œ 횟수λ₯Ό κ΅¬ν•˜λΌ 큐의 pop은 μ™Όμͺ½μ—μ„œ, pushλŠ” 였λ₯Έμͺ½μ—μ„œ 이루어진닀 TC input queue1 : [3, 2, 7, 2], queue2 : [4 ,6, 5, 1]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 할인 행사 (L2)
🧠 Algorithm
1from collections import deque 2 3def solution(want, number, discount): 4 want_dict = dict() 5 answer = 0 6 7 for i in range(len(want)): 8 want_dict[want[i]] = number[i] 9 10 for i in discount[:10]: 11 if i in want_dict: 12 want_dict[i] -= 1 13 14 for i in range(0, len(discount)-9): 15 if all(map(lambda x: x <= 0, want_dict.values())): 16 answer += 1 17 18 if discount[i] in want_dict: 19 want_dict[discount[i]] += 1 20 if i+10 < len(discount) and discount[i+10] in want_dict: 21 want_dict[discount[i+10]] -= 1 22 23 return answer 문제 XYZλ§ˆνŠΈμ—μ„œλŠ” νšŒμ›μ— κ°€μž…ν•˜λ©΄ 10μΌλ™μ•ˆ ν• μΈν˜œνƒμ„ λ°›λŠ”λ‹€ ν• μΈν•˜λŠ” μ œν’ˆμ€ ν•˜λ£¨μ— ν•˜λ‚˜μ”©λ§Œ ꡬ맀할 수 μžˆλ‹€ μ •ν˜„μ΄κ°€ μ›ν•˜λŠ” μ œν’ˆ 리슀트, μ›ν•˜λŠ” μ œν’ˆμ˜ μˆ˜λŸ‰ 리슀트, λ§ˆνŠΈμ—μ„œ ν• μΈν•˜λŠ” μ œν’ˆ λ¦¬μŠ€νŠΈκ°€ μ£Όμ–΄μ§„λ‹€ μ •ν˜„μ΄κ°€ μ›ν•˜λŠ” μ œν’ˆμ„ λͺ¨λ‘ 할인 받을 수 μžˆλŠ” νšŒμ› 등둝 λ‚ μ§œμ˜ 수λ₯Ό κ΅¬ν•˜λΌ TC input want: [“banana”, “apple”, “rice”, “pork”, “pot”]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 혼자 λ†€κΈ°μ˜ 달인 (L2)
🧠 Algorithm
1def solution(cards): 2 length = len(cards) 3 visited = [False] * length 4 answer = [] 5 6 for i in range(length): 7 cnt = 0 8 cur = i 9 while not visited[cur-1]: 10 visited[cur-1] = True 11 cur = cards[cur-1] 12 cnt += 1 13 if cnt != 0: 14 answer.append(cnt) 15 16 if len(answer) <= 1: 17 return 0 18 answer.sort(reverse=True) 19 return answer[0]*answer[1] 문제 μ£Όμ–΄μ§„ λ°°μ—΄ cardsλ₯Ό μˆœνšŒν•œλ‹€ cards[i]번째 μ›μ†Œλ₯Ό λ°©λ¬Έν•œλ‹€, 이미 λ°©λ¬Έν•œ μ›μ†ŒμΈ 경우 κ·Έλ§Œν•œλ‹€ ν•œλ²ˆ μ΄μ–΄μ„œ λ°©λ¬Έν•œ μ›μ†Œλ₯Ό κ·Έλ£Ήν™”ν•œλ‹€κ³  ν•  λ•Œ, 두 그룹의 μ›μ†Œκ°œμˆ˜μ˜ 곱의 μ΅œλŒ€κ°’μ„ κ΅¬ν•˜λΌ TC input [8,6,3,7,2,5,1,4]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 연속 μˆ˜μ—΄ ν•©μ˜ 개수 (L2)
🧠 Algorithm
첫번째 풀이 1def solution(elements): 2 result = set() 3 length = len(elements) 4 elements = elements*2 5 for i in range(length): 6 temp = 0 7 for j in range(length): 8 temp += elements[i+j] 9 result.add(temp) 10 11 return len(result) κ°œμ„ ν•œ 풀이 1def solution(elements): 2result = set() 3length = len(elements) 4for i in range(length): 5 temp = 0 6 for j in range(length): 7 temp += elements[(i+j)%length] 8 result.
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - νƒλ°°μƒμž (L2)
🧠 Algorithm
1def solution(order): 2 answer = 0 3 length = len(order) 4 stackA = [i for i in range(length, 0, -1)] 5 stackB = [] 6 7 for i in order: 8 while True: 9 if stackA and stackA[-1] == i: 10 stackA.pop() 11 break 12 if stackB and stackB[-1] == i: 13 stackB.pop() 14 break 15 16 if stackB and stackB[-1] > i: 17 return answer 18 19 stackB.append(stackA.pop()) 20 answer += 1 21 22 return answer 문제 μ›ν•˜λŠ” μƒμž μˆœμ„œλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜λ°°μ—΄ orderκ°€ μ£Όμ–΄μ§„λ‹€ 컨베이어 λ²¨νŠΈμ— [N… 3, 2, 1]와 같이 λ°•μŠ€κ°€ λ†“μ—¬μžˆλ‹€ λ°•μŠ€λŠ” 1번 μƒμžλΆ€ν„° 순차적으둜 λΊ„ 수 μžˆλ‹€ λΊ€ μƒμžλ₯Ό 잠깐 보쑰 컨베이어 λ²¨νŠΈμ— 보관할 수 μžˆλ‹€ 보쑰 컨베이어 λ²¨νŠΈλŠ” μŠ€νƒκ³Ό 같이 FILOκ°€ μ μš©λœλ‹€ μˆœμ„œλŒ€λ‘œ μƒμžλ₯Ό μ‹£μ§€ λͺ»ν•˜λ©΄, κ·Έλ§Œλ‘”λ‹€ λ°•μŠ€λ₯Ό order에 맞게 λͺ‡ κ°œκΉŒμ§€ 싀을 수 μžˆλŠ”μ§€ κ΅¬ν•˜λΌ TC input [4, 3, 1, 2, 5]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 둀케이크 자λ₯΄κΈ° (L2)
🧠 Algorithm
1def solution(topping): 2 answer = 0 3 length = len(topping) 4 toppingA = [] 5 toppingB = [] 6 setA = set() 7 setB = set() 8 9 for i in range(length-1): 10 setA.add(topping[i]) 11 setB.add(topping[length-i-1]) 12 toppingA.append(len(setA)) 13 toppingB.append(len(setB)) 14 15 toppingB = toppingB[::-1] 16 for i in range(length-1): 17 if toppingA[i] == toppingB[i]: 18 answer+=1 19 return answer 문제 둀케이크 μœ„μ— μ˜¬λ €μ§„ ν† ν•‘λ²ˆν˜Έμ˜ μ •μˆ˜ λ°°μ—΄ topping이 μ£Όμ–΄μ§„λ‹€ 둀케이크λ₯Ό μž˜λžμ„ λ•Œ, 두 쑰각의 ν† ν•‘ μ’…λ₯˜λ₯Ό λ˜‘κ°™μ΄ λ§Œλ“œλŠ” λ°©λ²•μ˜ 수λ₯Ό κ΅¬ν•˜λΌ TC input [1, 2, 1, 3, 1, 4, 1, 2]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - μš°λ°•μˆ˜μ—΄ 정적뢄 (L2)
🧠 Algorithm
1def solution(k, ranges): 2 answer = [] 3 seq = [k] 4 section = [0] 5 while k > 1: 6 if k%2 == 0: 7 k = k//2 8 else: 9 k = k*3+1 10 seq.append(k) 11 12 for i in range(0, len(seq)-1): 13 a, b = seq[i], seq[i+1] 14 if a > b: 15 a, b = b, a 16 17 section.append((b-a)/2+a) 18 if len(section) != 0: 19 section[-1] += section[-2] 20 21 for i in ranges: 22 a, b = i[0], len(seq)+i[1]-1 23 if a > b: 24 answer.
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 숫자 μΉ΄λ“œ λ‚˜λˆ„κΈ° (L2)
🧠 Algorithm
첫번째 ν†΅κ³Όν•œ 풀이 1import math 2 3def gcd(a, b): 4 while b > 0: 5 a, b = b, a%b 6 return a 7 8def gcdOfArr(l): 9 result = l[0] 10 for i in range(1, len(l)): 11 result = gcd(result, l[i]) 12 return result 13 14def solution(arrayA, arrayB): 15 a1 = gcdOfArr(arrayA) 16 for i in arrayB: 17 if i % a1 == 0: 18 a1 = 0 19 break 20 a2 = gcdOfArr(arrayB) 21 for i in arrayA: 22 if i % a2 == 0: 23 a2 = 0 24 break 25 return max(a1, a2) κ°œμ„ ν•œ 풀이
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - κ·€ κ³ λ₯΄κΈ° (L2)
🧠 Algorithm
1def solution(k, tangerine): 2 D = {} 3 for i in tangerine: 4 if i in D: 5 D[i] += 1 6 else: 7 D[i] = 1 8 D = sorted(D.items(), key=lambda x: -x[1]) 9 answer = 0 10 for _, num in D: 11 k -= num 12 answer += 1 13 if k <= 0: 14 break 15 16 return answer 문제 귀의 개수 k와 귀의 개수λ₯Ό 담은 λ°°μ—΄ tangerine이 μ£Όμ–΄μ§„λ‹€ κ·€ k개λ₯Ό κ³ λ₯Ό λ•Œ, 크기가 μ„œλ‘œ λ‹€λ₯Έ μ’…λ₯˜μ˜ 수의 μ΅œμ†Œκ°’μ„ κ΅¬ν•˜λΌ TC input k: 6, tangerine: [1, 3, 2, 5, 4, 5, 2, 3]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 점 찍기 (L2)
🧠 Algorithm
1import math 2 3def solution(k, d): 4 answer = 0 5 6 for x in range(0, d+1, k): 7 a = math.floor((d**2-x**2)**0.5) // k + 1 8 answer += a 9 10 return answer 문제 2차원 μ’Œν‘œ ν‰λ©΄μ—μ„œ (xk (x=0,1,2,3…), yk (y=0,1,2,3…)) 지점에 점을 μ°λŠ”λ‹€ μ›μ κ³Όμ˜ 거리가 dκ°€ λ„˜μœΌλ©΄ 점을 찍지 μ•ŠλŠ”λ‹€ k와 dκ°€ μ£Όμ–΄μ§ˆ λ•Œ, 점이 총 λͺ‡ 개 μ°νžˆλŠ”μ§€ κ΅¬ν•˜λΌ TC input k:2, d:4 ouput 6
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - λ””νŽœμŠ€ κ²Œμž„ (L2)
🧠 Algorithm
1import heapq 2 3def solution(n, k, enemy): 4 heap = [] 5 cnt = 0 6 for i in enemy: 7 n -= i 8 heapq.heappush(heap, -i) 9 while n < 0: 10 k -= 1 11 if not heap or k < 0: 12 return cnt 13 tmp = -heapq.heappop(heap) 14 n += tmp 15 cnt += 1 16 return cnt 문제 n: κ°€μ§€κ³  μžˆλŠ” 병사 수 k: μ‚¬μš©ν•  수 μžˆλŠ” 무적ꢌ μŠ€ν‚¬ 수 enemy: λΌμš΄λ“œλ§ˆλ‹€ μ‘΄μž¬ν•˜λŠ” 적 수의 λ°°μ—΄ λΌμš΄λ“œλ§ˆλ‹€ enemy[i]λͺ… 만큼 μ†Œλͺ¨ν•˜μ—¬ enemy[i]마리의 적을 막을 수 μžˆλ‹€ λ¬΄μ κΆŒμ„ 적절히 μ‚¬μš©ν•˜μ—¬ 버틸 수 μžˆλŠ” μ΅œλŒ€ λΌμš΄λ“œ 수λ₯Ό κ΅¬ν•˜λΌ TC input n: 7, k: 3, enemy: [4, 2, 4, 5, 3, 3, 1]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - ν…Œμ΄λΈ” ν•΄μ‹œ ν•¨μˆ˜ (L2)
🧠 Algorithm
1def solution(data, col, row_begin, row_end): 2 answer = 0 3 data.sort(key=lambda x: (x[col-1], -x[0])) 4 s = [] 5 for i in range(row_begin-1, row_end): 6 s.append(sum(map(lambda x: x%(i+1), data[i]))) 7 8 for i in s: 9 answer ^= i 10 return answer 문제 ν•΄μ‹œ ν•¨μˆ˜λŠ” col, row_begin, row_end을 μž…λ ₯으둜 λ°›λŠ”λ‹€ ν…Œμ΄λΈ”μ˜ νŠœν”Œμ„ col번째 컬럼의 값을 κΈ°μ€€μœΌλ‘œ μ˜€λ¦„μ°¨μˆœ 정렬을 ν•˜λ˜, λ§Œμ•½ κ·Έ 값이 λ™μΌν•˜λ©΄ 기본킀인 첫 번째 컬럼의 값을 κΈ°μ€€μœΌλ‘œ λ‚΄λ¦Όμ°¨μˆœ μ •λ ¬ν•œλ‹€ μ •λ ¬λœ λ°μ΄ν„°μ—μ„œ S_iλ₯Ό i 번째 ν–‰μ˜ νŠœν”Œμ— λŒ€ν•΄ 각 컬럼의 값을 i 둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ“€μ˜ ν•©μœΌλ‘œ μ •μ˜ν•œλ‹€ row_begin ≀ i ≀ row_end 인 λͺ¨λ“  S_iλ₯Ό λˆ„μ ν•˜μ—¬ bitwise XOR ν•œ 값을 ν•΄μ‹œ κ°’μœΌλ‘œμ„œ λ°˜ν™˜ν•˜λΌ TC input data: [[2,2,6],[1,5,10],[4,2,9],[3,8,3]]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - λ§ˆλ²•μ˜ μ—˜λ¦¬λ² μ΄ν„° (L2)
🧠 Algorithm
첫번째 BFS 풀이 1from collections import deque 2 3def solution(storey): 4 answer = 0 5 q = deque() 6 q.append((storey, 0)) 7 visited = [False] * (10**8+1) 8 9 while q: 10 cur, cnt = q.popleft() 11 12 13 visited[cur] = True 14 while cur != 0 and cur%10 == 0: 15 cur = cur // 10 16 if cur == 0: 17 answer = cnt 18 break 19 for j in [-1, 1]: 20 dest = cur + j 21 if 0 <= dest <= 10**8 and not visited[dest]: 22 q.
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 이λͺ¨ν‹°μ½˜ 할인행사 (L2)
🧠 Algorithm
1result = [] 2 3def dfs(size, percent, users, emoticons): 4 global result 5 6 if len(percent) == size: 7 temp = [0] * len(users) 8 for i in range(size): 9 for j in range(len(users)): 10 if percent[i]*100 >= users[j][0]: 11 temp[j] += emoticons[i]*(1-percent[i]) 12 serviceNum = 0 13 income = 0 14 for i in range(len(users)): 15 if temp[i] >= users[i][1]: 16 serviceNum += 1 17 else: 18 income += temp[i] 19 result.
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 택배 배달과 μˆ˜κ±°ν•˜κΈ° (L2)
🧠 Algorithm
1def solution(cap, n, deliveries, pickups): 2 answer = 0 3 tempD = 0 4 tempP = 0 5 for i in range(n-1, -1, -1): 6 tempD += deliveries[i] 7 tempP += pickups[i] 8 9 while tempD > 0 or tempP > 0: 10 tempD -= cap 11 tempP -= cap 12 answer += (i+1)*2 13 return answer 문제 νŠΈλŸ­μ— 싀을 수 μžˆλŠ” μž¬ν™œμš© 택배 μƒμžμ˜ μ΅œλŒ€κ°œμˆ˜ cap, 배달할 μ§‘μ˜ 개수 n 택배 μƒμžμ˜ 개수λ₯Ό 담은 deliveries, μž¬ν™œμš© 택배 μƒμžμ˜ 개수λ₯Ό 담은 pickupsκ°€ μ£Όμ–΄μ§„λ‹€ νŠΈλŸ­ν•˜λ‚˜λ‘œ λͺ¨λ“  배달과 수거λ₯Ό 마치고 λŒμ•„μ˜¬ 수 μžˆλŠ” μ΅œμ†Œ 이동 거리λ₯Ό κ΅¬ν•˜λΌ TC input (cap, n, deliveries, pickups) 4, 5, [1, 0, 3, 1, 2], [0, 3, 0, 4, 0]
new ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - μ‹œμ†Œ 짝꿍 (L2)
🧠 Algorithm
1def solution(weights): 2 answer = 0 3 wdict = {} 4 5 weights.sort(reverse=True) 6 for i in weights: 7 if i in wdict: 8 answer += wdict[i] 9 if i*3/2 in wdict: 10 answer += wdict[i*3/2] 11 if i*2 in wdict: 12 answer += wdict[i*2] 13 if i*4/3 in wdict: 14 answer += wdict[i*4/3] 15 16 wdict[i] = wdict[i]+1 if i in wdict else 1 17 return answer 문제 μ‹œμ†Œμ—λŠ” μ€‘μ‹¬μœΌλ‘œλΆ€ν„° 2m, 3m, 4m λ–¨μ–΄μ§„ 거리에 μ’Œμ„μ΄ μ‘΄μž¬ν•œλ‹€ μ–‘μͺ½μ˜ νƒ‘μŠΉν•œ μ‚¬λžŒμ˜ λ¬΄κ²Œμ™€ μ‹œμ†Œ μΆ•κ³Ό μ’Œμ„ κ°„μ˜ 거리의 곱이 κ°™μ•„μ„œ μ‹œμ†Œκ°€ 평행을 이룬닀면 κ·Έ λ‘˜μ„ μ‹œμ†Œ 짝꿍이라고 ν•  수 μžˆλ‹€ μ‚¬λžŒλ“€μ˜ λͺΈλ¬΄κ²Œ 배열이 μ£Όμ–΄μ§ˆ λ•Œ, μ‹œμ†Œ 짝꿍이 λͺ‡ 쌍 μ‘΄μž¬ν•˜λŠ”μ§€ κ΅¬ν•˜λΌ TC input [100,180,360,100,270]
  • ««
  • «
  • 8
  • 9
  • 10
  • 11
  • 12
  • »
  • »»
🧠 Algorithm (104) 🌊 C/CPP (2) β˜• Java (8) 🍌 Javascript (9) 🐍 Python (9) πŸƒ Spring (30) πŸ”¨ 개발 도ꡬ (2) 🎸 기타 (7) πŸ‘¨β€πŸ’» λͺ¨κ°μ½” (38) πŸ€– 인곡지λŠ₯ (2) 🏫 ν•™κ³Ό 곡뢀 (28)
🏷️ boj (53) 🏷️ c (5) 🏷️ c++ (4) 🏷️ celery (2) 🏷️ cs (18) 🏷️ django (3) 🏷️ docker (2) 🏷️ docker-compose (1) 🏷️ elk (1) 🏷️ fastapi (4) 🏷️ git (2) 🏷️ github-actions (5) 🏷️ hackerrank (3) 🏷️ https (2) 🏷️ java (37) 🏷️ javascript (2) 🏷️ jwt (1) 🏷️ kubernetes (4) 🏷️ nginx (2) 🏷️ ocaml (1) 🏷️ open-source (2) 🏷️ programmers (48) 🏷️ pytest (1) 🏷️ python (111) 🏷️ rabbitmq (2) 🏷️ rag (3) 🏷️ react (6) 🏷️ security (3) 🏷️ software-engineering (3) 🏷️ spring (31) 🏷️ sql (5) 🏷️ ssl (1) 🏷️ testing (4) 🏷️ typescript (1) 🏷️ vercel (1) 🏷️ websocket (1)