본문 바로가기

분류 전체보기

프로그래머스 위장 테스트 1에 대해 시간 초과난 코드. def solution(clothes): c_dict = {} for c in clothes: if c[1] in c_dict: c_dict[c[1]] += 1 else: c_dict[c[1]] = 1 c_list = [] for i in c_dict: c_list.append(c_dict[i]) result = 0 length = len(c_list) n = 2 ** length for i in range(1, n): bin_n = format(i, 'b').zfill(length) multi_result = 1 for j in range(length): num = int(bin_n[j]) if num != 0: multi_result *= c_list[j] * n..
프로그래머스 전화번호 목록 dict를 쓰라는데 고민해봐도 잘 안떠올라서 되는대로 풀었다. 다른 사람 풀이를 보니까 startswith()를 사용해서 비교하기도 했다. def solution(phone_book): pb_len = len(phone_book) phone_book.sort() for i in range(pb_len): phone_book[i] = str(phone_book[i]) for i in range(pb_len): for j in range(i+1, pb_len): std_num_len = len(phone_book[i]) if std_num_len > len(phone_book[j]): continue else: if phone_book[i] == phone_book[j][:std_num_len]: retur..
프로그래머스 완주하지 못한 선수 p_dict에 참가자들 이름을 key로 하고 인원 수를 value로 하는 dict를 만든다. 완주한 선수 리스트를 돌면서 p_dict의 key로 접근해서 if문에서 안걸러지면 0이 아니라는 의미니까 1을 빼준다. p_dict를 돌면서 value가 0이 아니면 참가는 했지만 완주는 못한 사람이 key라는 의미이므로 key를 반환한다. def solution(participant, completion): p_dict = {} for p in participant: if p not in p_dict: p_dict[p] = 1 else: p_dict[p] += 1 for c in completion: if p_dict[c]: p_dict[c] -= 1 for i in p_dict: if p_dict[i] != ..
네트워크 모델 프로토콜 계층화 모듈화와 비슷하다. 각 계층을 독립적으로 다룰 수 있다. 통신 시스템의 어느 계층을 변경하든 그 영향이 전체 시스템에 미치지 않아서 확장성, 유연성이 생긴다. 통신 기능이 분할되므로 각 계층에 프로토콜을 쉽게 설치할 수 있다. 프로토콜에서 각 계층의 기능을 실현하는 실체를 엔티티라고 한다. 임의의 엔티티는 하위 엔티티에서 서비스를 받고 상위 엔티티에 서비스를 제공한다. 상위 계층과 하위 계층 사이에서 서비스를 주고 받을 때의 규약을 인터페이스라고 한다. 통신상 같은 계층에서 주고 받을 때의 규약을 프로토콜이라고 한다. OSI 7 Layer A의 응용계층에서 물리계층까지 데이터를 보내고 중간 노드에서 3계층을 거치게 된다. B의 물리계층에서 응용계층까지 데이터가 전달된다. 응용 계층 사용자..
인터넷 기초 지식 인터넷 : 여러 네트워크를 연결해서 하나의 네트워크로 만드는 것 초기 네트워크는 컴퓨터, 프린터같은 통신 장치를 연결해서 정보를 공유하기 위해 사용됐다. 네트워크 장비가 발달하면서 기관, 개인도 인터넷을 사용할 수 있게 됐다. 통신 네트워크의 시작은 1969년 ARPANET으로부터였다. 메인 컴퓨터들이 각각 독립적으로 실행되었던 1960년대에는 제조회사가 다른 컴퓨터끼리는 통신할 수 없었다. 1967년 미국방성의 ARPA는 각 부서의 정보를 공유하기 위해 컴퓨터를 서로 연결하는 ARPANET이라는 소형 네트워크를 제안했다. 1969년 ARPANET은 NCP라는 SW로 호스트들 간의 통신을 제공했고 UCLA, UCSB, SRI, Utah대학의 4개 노드를 연결해서 최초의 네트워크를 구성했다. 1972년 A..
파이썬 연결 리스트 singly linked list 1. 지정 노드의 왼쪽 또는 오른쪽에 삽입하는 것 구현 2. node 자체를 찾는 함수 3. node의 data를 찾는 함수 class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self): self.head = None self.current = None def append(self, data): node = Node(data) if self.head is None: # 노드가 없는 경우 self.head = node self.current = node else: # 노드가 있는 경우 self.current = self.head while self.current.next: ..
취업 정보 사이트에 이력서 올렸더니 보험사에서 전화 올 때 취업 정보 사이트에 이력서 관리 페이지로 들어간다. 이력서 열람제한 설정에서 산업 중에 보험에 체크한다. 기업명을 아는 경우 열람제한 기업에서 찾아서 제한시킨다. 하루에도 몇번씩 전화가 와서 빡쳤다.
OBV OBV 지표 계산 방식 1. 주가 상승 날의 거래량 합 2. 주가 하락 날의 거래량 차 3. 1, 2의 경우 아니면 합, 차 안함 OBV 지표 분석 1. 전고점보다 고점 -> 상승추세 2. 전저점보다 저점 -> 하락추세 3. OBV 하락인데 주가 상승하면 주가 하락할 수 있음 -> 하락 다이버전스 4. OBV가 시그널선 아래로 내려가면 주가 하락할 수 있음, 주가 하락 시 상승을 기다리고 저항선 부근에서 분할 매도 5. OBV 상승인데 주가 하락하면 주가 상승할 수 있음 -> 상승 다이버전스 6. OBV가 시그널선 위로 올라가면 주가 상승할 수 있음, 주가 눌림(조정) 시 지지선 부근에서 분할 매수 절대적인 지표는 없다.