내일배움캠프/TIL
-
알고리즘내일배움캠프/TIL 2022. 11. 30. 02:26
파이썬 리스트의 인덱스 확인방법 heap에서 delete를 할 때 자식노드들이 존재하는지 부터 체크하고 싶었습니다. 배열안에 인덱스 값이 없다는걸 확인해야 합니다 if node[right_child] : if node[right_child] == True : if bool(node[right_child]) == True : 를 시도해보았으나 원하는 기능을 만족하지 못했습니다. 고민해본결과 len(node) > right_child 로 해결해보려 합니다. 이 방법이 옳은 방법인지 잘 모르겠으니 이따 튜터님에게 한번 여쭤봐야겠습니다. 이후로 강의를 더 보니 len을 사용하여 인덱스의 유무를 판단했습니다. 튜터님까지 가야하나 싶습니다. 그래도 더 좋은 방법이 있나 한 번 가봐야겠습니다. 더 좋은 방법을 알아내..
-
알고리즘내일배움캠프/TIL 2022. 11. 29. 02:59
알고리즘 문제를 풀면서 하루를 보냈습니다. from collections import deque def solution(prices): prices = deque(prices) stock_sinks = [] while len(prices): seconds = 0 curr_price = prices.popleft() for val in prices: seconds += 1 if curr_price > val: break stock_sinks.append(seconds) return stock_sinks # prices = list(map(int, input().split())) # print(solution(prices)) print("정답 = [2, 1, 2, 1, 0] / 현재 풀이 값 = ", sol..
-
알고리즘내일배움캠프/TIL 2022. 11. 25. 01:41
알고리즘 문제 하나를 가지고 너무 긴 시간을 소모했습니다. numbers = [1, 1, 1, 1, 1] target_number = 3 def get_count_of_ways_to_target_by_doing_plus_or_minus(array, target): # 구현해보세요! return 5 print(get_count_of_ways_to_target_by_doing_plus_or_minus(numbers, target_number)) # 5를 반환해야 합니다! 문제를 보고 배열의 각각 요소의 부호를 어떻게 변경해서 재귀함수로 전달해야하는지 생각해봤습니다. 이 문제를 푸는데 이 고민의 시간이 가장 길었습니다. 부호가 바뀐 값을 넣어 새 배열을 만들어서 전달할지, 그렇게 된다면 브레이크는 어떻게 걸어..
-
알고리즘내일배움캠프/TIL 2022. 11. 24. 02:03
클래스 객체 생성자 메소드 self single linked list ** join 은 배열요소값이 인트면 사용이 안된다. 오늘 강의에서 백준 1158 문제를 소개하길래 한 번 풀어봤습니다. 문제를 보니 왠지 배열로 가능할 것 같았습니다. 그러나 오늘 강의내용이 연결리스트 였기에 연결리스트로 만들어보았습니다. class Node: def __init__(self, data, head=None): self.data = data self.next = head class Linked_list: def __init__(self, count=1): self.head = Node(1) i = 1 while i < count: self.append(i+1) i += 1 def is_empty(self): if sel..
-
알고리즘, git내일배움캠프/TIL 2022. 11. 23. 01:11
알고리즘 공부 오랜만에 머리가 뽀개집니다. 파이썬에 for문이 익숙치 않습니다. for(;;)가 너무 그립읍니다. 코드를 적어보고 답안코드를 보니 제 코드와는 모양새가 조금 다릅니다. 그러나 조금 뿌듯한 점은 열심히 노력해서 결과물을 만들어 낸 것입니다. 거기다 마지막 문제는... 문제를 잘 못 읽어서 코드가 좀 추가 됐습니다. 1주차 숙제 문제에 1주차의 알고리즘이 녹아있으니 숙제문제의 비교로만 기록을 합니다. #제 코드 입니다. #숙제 1 input = 100 def find_prime_list_under_number(number): if number
-
파이썬 문법 기초, 자바스크립트 문법 기초, 알고리즘내일배움캠프/TIL 2022. 11. 22. 03:08
파이썬 형변환 int(), str(), float(), chr(), bool() [:] 첫번째 요소에서 마지막 요소까지 [-1] 제일 마지막 요소 접근 .appen() 요소 추가 .sort() 정렬 (기본값 오름차순) .sort(reverse = Ture) 내림차순 정렬 x in list : 리스트내에 x값의 여부 return bool x not in list : 리스트내에 x의 값의 여부 return !(bool) print('{} 번째 {} 의 {}'.format(i, name, age)) >>> i 번째 name 의 age print(f'{i} 번째 {name} 의 {age}') >>> i 번째 name 의 age 튜플 () 집합 set(list) : list의 중복요소를 제거 집합끼리의 &, |..
-
Git의 세가지 상태내일배움캠프/TIL 2022. 11. 20. 23:02
Git은 파일을 Committed, Modified, Staged 이렇게 세 가지 상태로 관리한다. 세 가지 상태 Committed 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미한다. Modified 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 말한다. Staged 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미한다. 이 세가지 상태는 Git 프로젝트의 세 가지 단계와 연결돼 있다. 세 가지 단계 Git 디렉토리 Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳. 다른 컴퓨터에 있는 저장소를 Clone 할 때 Git 디렉토리가 만들어진다. 워킹 트리 프로젝트의 특정 버전을 Checkout 한 것이다. Git 디렉토리는 지금 작업하는 디스크에 있고 그 디..
-
CS특강 2내일배움캠프/TIL 2022. 11. 20. 02:11
목표 프로세스(Process), 스레드(Thread), 비동기(Asyncronous)에 대한 기본적인 개념 잡기 학습 체크 리스트 프로세스(Process)와 스레드(Thread)에 대한 개념을 설명할 수 있는가? 멀티 프로세스와 멀티 스레드에 대한 개념을 설명하고 각각의 장단점을 설명할 수 있는가? 비동기(Asyncronous)에 대한 개념을 설명할 수 있는가? 비동기가 왜 필요한지에 대한 설명을 할 수 있는가? 멀티프로세스는 하나의 프로그램을 여러개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하는 걸 일컫습니다. 프로세스는 독립적인 메모리공간을 지원받았기 때문에 프로세스간 정보교환이 쉽지 않습니다. 프로세스간 정보교환이 필요할 시 IPC(Inter-Process Communication)을 ..