반응형

CS 7

[프로그래머스] (python) 스킬트리2

아이디어 "딕셔너리(인덱스)를 이용해서 스킬이 순서대로 구성됐는지 확인한다." 오류 난 부분 1. list.split(" ") AttributeError: 'list' object has no attribute 'split' 새롭게 알게 된 것 1. dict.keys() , dic.values() 모두 s가 붙는다는 것을 깨달았다..😁😁😁 2. enumerate(x , 1) key값: x index: 1부터 시작 3. if문 검증 순서 예외가 많은 조건이면 False를 기준으로 놓고, else 를 True로 놓는게 오류를 더 잘 잡을 수 있다. ex) if (조건) != False else True 4. cnt 증가로 식 전개가 잘 되는지 아닌지 알 수 있다.

CS/알고리즘 2021.01.16

[프로그래머스] (python) 나머지 한 점

programmers.co.kr/learn/courses/18/lessons/1878 알고리즘 문제 해설 - 나머지 한 점 프로그래머스의 모의테스트는 프로그래머스의 시스템에 익숙해지기 위한 테스트이며, 문제 자체는 2018 1ST KAKAO BLIND RECRUITMENT와 전혀 관계없습니다. 다만 모의테스트의 풀이에 대한 요청이 있어 programmers.co.kr 이번 문제를 풀며 또 든 생각은.. 파이썬은 정말 무궁무진한 기능이 있다는 것.,,...🥺 문제를 풀기 전.. 직사각형의 총 4개의 꼭지점은 x와 y 각각이 2쌍씩 같은 숫자로 이루어 진다고 파악했다. (아래 주석에 써놨듯, 총 좌표의 x와 y 의 개수를 같게 하면 된다는 뜻임) 따라서 두 쌍을 묶었을 때, 비는 숫자를 찾으면 된다고 생각...

CS/알고리즘 2021.01.15

재귀 함수 구현 (python)

재귀 함수(Recursive Function)란 자기 자신을 다시 호출하는 함수를 의미한다. 파이썬에서는 스택에 값이 계속 쌓아 메모리가 부족해지는 상황이 발생하는 것을 막고자 어느정도 재귀함수를 출력했다 싶으면 최대 재귀 깊이 초과 메세지를 출력한다. 재귀 함수를 사용하는 문제 풀이에서 무한 호출을 방지하기 위해 재귀 함수의 종료 조건을 반드시 명시해야 한다.

CS/자료구조 2020.12.07

큐 자료구조 이론 및 예제 (python)

큐 자료구조 큐는 먼저 들어온 데이터가 먼저 나가는 형식(선입선출)의 자료구조이다. 입구가 출구가 모두 뚫려 있는 터널과 같은 형태로 시각화 할 수 있다. 대기열이라고 생각하면 쉽다. 큐 구현 방법 1) collection 모듈의 deque 객체 활용 큐는 스택과 같이 리스트로 구현할 수 있다. 하지만 리스트로 사용할 경우 pop(0)은 시간복잡도 O(N)를 가지고 있고, popleft()은 시간복잡도 O(1)을 가지고 있다. 따라서 popleft()를 쓰는게 더 효율적이기 때문에 deque를 사용한다. 시간복잡도는 O(1)이다. deque은 'double-ended queue'의 줄임말로서 스택과 큐를 합친 것과 같이 양방향에서 데이터를 삽입 및 추출할 수 있는 자료형이다. deque은 'deck'(덱..

CS/자료구조 2020.12.07

스택 자료구조 이론 및 예제 (python)

파이썬에서 스택을 구현하려면 리스트 자료형을 사용하자 리스트 자료형은 가장 오른쪽에 원소를 삽입하는 append 메소드와 가장 오른쪽에서 원소를 꺼내는 pop 메소드를 지원한다. 이를 이용해서 스택과 같이 사용할 수 있다. append() 와 pop() 의 시간복잡도는 O(1) 이기 때문에 스택 자료구조를 활용하기 적합하다. 파이썬에서는 표준 라이브러리를 사용할 필요 없이 기본적으로 제공되는 객체에 리스트를 이용해서 바로 스택을 구현하면 된다. stack = [] # 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제() stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop(..

CS/자료구조 2020.12.07

OSI 7계층

OSI(Open System Interconnection) : 개방형 시스템 상호 연결 모델 OSI 모델의 목적 기본적인 하드웨어, 소프트웨어의 변경없이 서로 다른 시스템간에 개방 통신을 위한 것 (계층적 모델의 특징을 갖기 때문에 정보의 변경 없이 통신이 가능하다) OSI 7계층이란? 장치 A부터 장치 B까지 메세지를 전송할 때 연관되는 계층 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것 OSI 7계층을 만든 이유 다양한 네트워크 연결 방식에 대한 호환성 문제를 해결하기 위해 데이터의 흐름이 한눈에 보인다. (데이터가 어떻게 날아가는지 볼 수 있음) 문제 해결이 편리 (어떤 계층에서 문제가 발생했는지 파악이 가능하므로) OSI 7계층 통신 구조 네트워크 지원 계층: 하나의 장치에서 다른 장치로 ..

CS/운영체제 2020.12.07

Starvation(기아 상태) VS. Deadlocked(교착 상태)

- 김덕수 교수님 운영체제 강의를 보고 정리한 내용임을 밝힙니다. Starvation(기아 상태)는 무엇인가?무한 연기는 교착상태에 빠지지 않은 프로세스가 시스템의 자원 스케줄링 정책 때문에 아주 먼 미래에 일어나는 상태입니다. 원래는 발생 가능한 상태였지만, CPU의 다른 프로세스들에게 선점 당하여 우선순위에 밀려 발생하지 못하는 상태를 뜻합니다. 이 해결책으로는 에이징을 사용하길 권장합니다. 에이징이란, 어떤 자원을 기다린 시간에 비례하여 프로세스에게 우선순위와 같은 보상을 부여하여 실행할 수 있게끔 하는 기법입니다. Deadlocked(교착 상태)는 무엇인가? 프로세스나 스레드가 결코 일어날 수 없는 특정 이벤트를 기다린다면, 해당 프로세스나 스레드가 “교착 상태에 빠졌다” 라고 합니다. 교착 상태..

CS/운영체제 2020.05.22
반응형