본문 바로가기

내일배움캠프/Today I Learned

(47)
[내배캠] 나의 열다섯번째 회고록 프로세스(Process), 스레드(Thread), 비동기(Asyncronous)에 대한 기본적인 개념 잡기 ※ 프로세스, 쓰레드, 멀티프로세스, 멀티쓰레드 ■ 프로세스 (Process) 프로그램과 프로세스의 차이 ? 실행 중인지 아닌지로 프로그램과 프로세스가 나뉘게 된다. -> 프로세스란? 실행 중인 프로그램을 의미한다. 프로그램 자체는 프로세스가 될 수 없다. 프로그램은 명령어 리스트 내용으로 디스크에 저장되어 있는 '수동적인 존재'이다. 이와 대조적으로 프로세스는 다음에 실행할 명령어를 지정하는 프로그램 카운터와 레지스터, 프로세스 상태 등이 함께 존재하는 집합을 가진 '능동적인 존재'이다. ■ 스레드 (Thread) ▲ 스레드의 구조 스레드란? 프로세스 내에서 실행되는 흐름의 단위 or CPU 스케..
[내배캠] 나의 열네번째 회고록 오늘은 팀원들과 프로그래머스 Lv.0문제 2개를 풀면서 코드리뷰를 하는 시간을 가졌다 생각보다 똑같은 문제를 다 다르게 푸는게 신기했고 확실히 같이 하니 공부의 시너지 효과가 나는 걸 느꼈다 # 삼각형의 완성 조건 def solution(sides): sum = 0 sides.sort() max_num = 0 if sides[2] < sides[0] + sides[1]: return 1 for i in range(len(sides)): if max_num < sides[i]: max_num = sides[i] sum += sides[i] if max_num < sum-max_num: return 1 return 2 # 양꼬치 def solution(n, k): answer = 0 num = int(n /..
[내배캠] 나의 열세번째 회고록 역시,,집중을 안해서 못푼거였어 오늘은 알고리즘 풀때 집중해서 풀었더니 진도가 슥슥 잘 지나가는 거 같다 못풀었던 Linkedlist문제도 풀었고 오늘, 내일해서 재귀함수 부분까지 마치고 종합적으로 2강 알고리즘 개념을 정리하면 될 것같다. 같이 수업듣는 분들이 4~5강을 듣고 있는걸 보면서 요즘 마음이 조급하고 불안함이 들었었다. 그.러.나 옆에 차가 빠르게 달린다고 해서 나도 속도를 내다가 사고가 나면 안되는 일 나는 나의 속도로 천천히 배워나가면 된다고 생각한다. 실제로 이런 마음가짐은 살면서 필요하다고 생각한다 모두가 빠르게 달릴 필요는 없다 그러나 규정은 지켜서 가야지 규정 = 기본기, 정해진 것을 해내는 것 아래는 여태 못풀었던 Linkedlist 알고리즘이다 기본 원리를 잘 이해하고 넘어가자..
[내배캠] 나의 열두번째 회고록 알고리즘이 이해가 잘 안되서 몇일 째 진도를 못나가고 있다. 하지만 진도보다 나는 이해가 더 중요하기에 답안을 보지않고 최대한 끝까지 스스로 풀어보고 싶어서 붙잡고 있다. 이해가 안가는 부분을 최대한 내 머리속에서 이해시키는게 이번주 알고리즘 목표다 링크드 리스트 add부분이 이해가 잘 되지 않는다 class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self, value): self.head = Node(value) def append(self, value): cur = self.head while cur.next is not None: cur = cur.next cur.n..
[내배캠] 나의 열한번째 회고록 [소수 알고리즘 풀이] # Q. 정수를 입력 했을 때, 그 정수 이하의 소수를 모두 반환하시오. # 소수는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다. # 20이 입력된다면, 아래와 같이 반환해야 합니다! # [2, 3, 5, 7, 11, 13, 17, 19] input = 20 def find_prime_list_under_number(number): prime_num = [] for num in range(2, number+1): for x in prime_num: if num % x == 0: break else: prime_num.append(num) return prime_num result = find_prime_list_under_number(input) pr..
[내배캠] 나의 열번째 회고록 잡아둔다고 풀릴 것인가 과연 알고리즘이 풀리지 않는다... 소수를 반환하는 문제가 이해가 되지 않아서 진도가 계속 delay되고 있다. 그래도 정답을 보면서 대충 넘어가고 싶지 않아서 힘들더라고 고민해보고 있다. # Q. 정수를 입력 했을 때, 그 정수 이하의 소수를 모두 반환하시오. # 소수는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다. # 20이 입력된다면, 아래와 같이 반환해야 합니다! # [2, 3, 5, 7, 11, 13, 17, 19] input = 20 def find_prime_list_under_number(number): prime_num = [] for i in range(2, number): if number % i == 0: continue else..
[내배캠] 나의 아홉번째 회고록 위험한 건 대충 오늘은 하루동안 알고리즘 기초가 되는 문제들을 풀었다. 뇌를 구조적으로 세팅하려면 시간이 조금 걸릴 것 같다는 생각이 든다. 혼자서 푼 문제들이긴 하지만 이번주에는 프로그래머스, 백준의 레벨 낮은 문제들을 반복적으로 풀어봐야겠다는 생각이다. #다음과 같은 숫자로 이루어진 배열이 있을때, 이 배열 내에 특정 숫자가 존재한다면 True, #존재하지 않다면 False를 반환하시오. input = [3, 5, 6, 1, 2, 4] def is_number_exist(number, array): for in_arr in array: if number==in_arr: return True else: return False result = is_number_exist(7, input) print(re..
[내배캠] 나의 여덟번째 회고록 겉할기는 안되는거 알지? Deep하게~ 8. 컬렉션(Collections) java에서 컬렉션이란 데이터의 집합, 그룹을 의미하며 JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. * Java 컬렉션 프레임워크의 상속 구조 Collection 인터페이스는 List, Set, Queue로 크게 3가지 상위 인터페이스로 분류할 수 있다. 또한 Map의 경우 Collection 인터페이스를 상속받고 있지 않지만 Collection으로 분류된다. Collection 인터페이스의 특징 인터페이스 구현클래스 특징 Set HashSet TreeSet 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는..