1. 이제 1/4 왔다.
지금까지 온 것 * 3만큼만 더 가면 된다.
2. 오늘은 즐거운 시험날!
프로그래머스에서 퐈일명 정열을 풀었다. 음... 팀원분의 천재적인 풀이를 보니 내 접근 자체는 나쁘지 않았던 것 같은데... 중간에 조건을 어떻게 걸어주냐에 따라 결과가 달라져부렀어... 그래도 아주 못따라가고 있는 것 같지는 않다. 남들은 고속버스 타고 가고 있는거 열심히 자전거 밟으면서 뒤쫓아가는 느낌이지만 어쨌든 가고는 있다구...!
근데 문제는 결국 못 풀었다. 대체 왜...? 무엇이 문제냐...?
import re
def merge(arr1, arr2):
result = []
i = j = 0
while i < len(arr1) and j < len (arr2):
a = arr1[i].split('.')[0].split(' ')[0]
b = arr2[j].split('.')[0].split(' ')[0]
a_letters = ''.join([str(ord(x) - 96) for x in re.sub('[^a-z]', '', a.lower())])
a_numbers = re.sub('[^0-9]', '', a)
b_letters = ''.join([str(ord(x) - 96) for x in re.sub('[^a-z]', '', b.lower())])
b_numbers = re.sub('[^0-9]', '', b)
if a_letters == b_letters and int(a_numbers) < int(b_numbers):
result.append(arr1[i])
i += 1
elif a_letters < b_letters:
result.append(arr1[i])
i += 1
else:
result.append(arr2[j])
j += 1
while i < len(arr1):
result.append(arr1[i])
i += 1
while j < len(arr2):
result.append(arr2[j])
j += 1
return result
def solution(lst):
if len(lst) <= 1:
return lst
mid = len(lst) // 2
L = lst[:mid]
R = lst[mid:]
return merge(solution(L), solution(R))
3. 오늘도 적당히 중간은 했다
막 많은걸 하진 못했지만, 그래도 스케쥴에 적어둔 것은 이코테 문제풀기 빼곤 다 했다. 이코테가 생각보다 문제 난이도가 훅훅 올라가서; 다시 앞부분부터 천천히 공부하기로 했다. 오늘도 cs책 읽다 자야지...
음 근데 여기서 고민. js 딥다이브 책이 도착했는데, 여기도 cs 지식이 있었다. js도 공부해야하고, cs도 공부해야하니 그냥 딥다이브 책을 읽을까? 아니면 일단 cs부터 천천히 공부할까? 음...
'스파르타코딩클럽 > 항해99' 카테고리의 다른 글
항해 27일차 TIL (0) | 2022.02.05 |
---|---|
항해 26일차 TIL (0) | 2022.02.04 |
항해 24일차 TIL (0) | 2022.02.02 |
항해 23일차 (0) | 2022.02.01 |
항해 22일차 TIL (0) | 2022.01.31 |