일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- cpp
- 수 정렬하기
- 파이썬머신러닝완벽가이드
- All Longest Strings
- matrixElementsSum
- adjacentElementsProduct
- markdown
- collections.deque
- 2750
- centuryFromYear
- 피보나치 수
- til
- 백준
- Python
- codesignal
- shapeArea
- Daily Commit
- recursion
- almostIncreasingSequence
- Numpy
- baekjun
- C++
- Counting cells in a blob
- 파이썬 포렌식
- flask
- data_structure
- codesingal
- 10953
- 2015 봄학기 알고리즘
- Sequential Search
- Today
- Total
목록분류 전체보기 183
Introfor
""" BOJ Stack problem """ __author__ = 'hanayong' stack = [] def push(word): global stack for _ in range(len(word)): stack.append(word.pop()) def pop(): global stack if stack in []: return else: return stack.pop() def reserve_words(): global stack word_list = [] for _ in range(len(stack)): word_list.append(pop()[::-1]) print(' '.join(word_list)) if __name__ == '__main__': n = int(input()) for _ ..
com.example.edu는 패키지로 다른 패키지와 중복되는 것을 막기 위해 (.)을 붙여서 네이밍을 한다. String에 커서를 두고 ctrl+b를 누르면 String.kt 파일이 열린다. 위 사진에 맨 위를 보면 라이브러리 패키지 파일 소스위치 kotlin-stdlib.jar > kotlin > kotlin.kotlin_builtins > String 순서로 구성되어 있는 것을 확인할 수 있다. math 모듈을 추가하기 위해 import를 사용했고, 이 모든 모듈들은 코틀린 표준 라이브러리인 kotlin-stdlib.jar에 있다. 기본 패키지(코틀린으로 프로그램을 만들 때 자주 사용하는 클래스와 함수 등을 미리 만들어 놓은 것) 패키지 이름 설명 kotlin.* Any, Int, Double 등 ..
from sys import stdin from collections import deque if __name__ == '__main__': n = int(stdin.readline()) Deque = deque() for _ in range(n): cmd = stdin.readline().split() if cmd[0] == 'push_front': Deque.appendleft(cmd[1]) elif cmd[0] == 'push_back': Deque.append(cmd[1]) elif cmd[0] == 'pop_front': if len(Deque) == 0: print(-1) else: print(Deque.popleft()) elif cmd[0] == 'pop_back': if len(Deque..
gist 첫 코드 공유 큐 응용 - CPU scheduling 프로세스 구동을 위해 다양한 시스템 자원이 필요하지만, 대표적으로 CPU와 입출력 장치가 필요하다. 이를 통해 최고의 성능을 내기 위해 자원을 어떤 프로세스에 얼마나 할당하는지 체제를 갖추는 것을 CPU Scheduling이라고 한다. 여러 프로세스들이 CPU에 전달되었다가 다시 큐로 돌아가는 것으로 사용자는 여러 번 프로그램이 실행된다고 느낀다. - 데이터 버퍼 네트워크를 통해 전송되는 패킷들은 도착한 순서대로 버퍼에 저장되어 처리되기를 기다린다.
from sys import stdin if __name__ == '__main__': l_stack = list(stdin.readline().rstrip()) r_stack = [] cnt = int(stdin.readline()) for cmd in stdin: if cmd[0] == 'L' and l_stack: r_stack.append(l_stack.pop()) if cmd[0] == 'D' and r_stack: l_stack.append(r_stack.pop()) if cmd[0] == 'B' and l_stack: l_stack.pop() if cmd[0] == 'P': l_stack.append(cmd[2]) print(''.join(l_stack+r_stack[::-1])) 백준 강의..
기본적인 자료구조인 스택 관련 문제로 백준 사이트에 있는 문제를 풀어보았다. __author__ = 'hanayong' stack = [] def push(word): global stack for _ in range(len(word)): stack.append(word.pop()) def pop(): global stack if stack in []: return else: return stack.pop() def reserve_words(): global stack word_list = [] for _ in range(len(stack)): word_list.append(pop()[::-1]) print(' '.join(word_list)) if __name__ == '__main__': n = in..
cpp을 처음 공부하면서 C에 대한 내용도 다시 복습하고 있다. 구조체 부분을 학습하면서 구조체는 사용자 정의 타입으로 여러 데이터 타입을 하나의 타입으로 지정할 수 있다. 그러면 이 구조체는 메모리에 어떠한 구조로 저장되는지 궁금하다. (궁금하지 않더라고 알면 좋다.) 위 소스코드를 아래에서 메모리와 매칭된 그림을 확인할 수 있다. 컴파일러는 프로그램의 속도를 향상시키기 위해 구조체를 메모리에 할당할 때 바이트 패딩(Byte Padding) 규칙을 사용한다. 이 규칙은 구조체 멤버 변수 중 크기가 가장 큰 멤버 변수를 기준으로 나머지 멤버 변수를 할당한다. 위 그림에서 보면 char, int, double 타입이 선언된 것을 알 수 있는데 이 중 8byte를 가지는 duble의 크기가 가장 크므로 do..