일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 슬퍼유
- pythonchallenge
- 디지털포렌식 with CTF
- 24시간의 전사
- Window process
- 2022시작
- CTF-D
- 정보처리기사 필기 합격
- 네트워크관리사2급
- vinetto
- network
- 실기
- 포렌식
- N0Named
- 윈도우 프로세스
- 는 하지마...
- slack space
- ZIP 파일구조
- memory
- html
- 생활코딩 html
- 생활코딩
- blkls
- 디지털포렌식
- ftz
- 윈도우 프로세스 종류
- Multimedia
- Multimeida
- disk
- 네트워크 보안
- Today
- Total
목록분류 전체보기 (253)
ssoL2 TISTORY
- 탐색(search) : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 - 그래프 탐색 알고리즘 대표 1. DFS 2.BFS - 코테에서 매우 자주 등장하는 유형이므로 DFS/BFS를 반드시 숙지해야함 - 스택 자료구조 : 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 - 입구와 출구가 동일한 형태 ex) 박스 쌓기 (약간 눕혀있는 뚜껑없는 물병 생각하면 된다.) - python에서는 append와 pop으로도 스택 구현을 가능하다. 따라서 다른 모듈 필요하지 않음 - append와 pop은 O(1) 시간복잡도 이다 - 큐 자료구조 : 먼저 들어 온 데이터가 먼저 나가는 형식(선입선출)의 자료구조 - 입구와 출구가 모두 뚫려 있는 터널과 같은 형태 (물병의 뚜껑과 바닥이 모두 뚫려..
- 그리디 알고리즘(탐욕법) : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 - 정당성 분석 중요, 이 방법을 이용해서 문제의 최적의 해를 구할 수 있는지 확인이 중요 - 거쳐 가는 노드 값의 합 최대 알고 싶을 때 - 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때도 많음 - 코테에서는 입력값과 출력값을 정해놓은 경우가 많아서 대부분의 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야 풀리도록 출제됨 - 최적의 해를 빠르게 구하기 위해서는 가장 큰 화폐 단위부터 돈을 거슬러 주자 - 500, 100, 50, 10 순으로 거슬러줌 ex) N=1260일 때, N이 0원이 될 때까지 500, 100, 50, 10 순서대로..
보호되어 있는 글입니다.
- 객체(object) : 파이썬에서 모든 데이터와 함수는 객체이다. - 모든 데이터 및 함수의 type을 확인하면 형태를 공유 - 클래스(class) : 객체(object)를 만들기 위한 도구이며, 현실 세계의 모든 물체들을 객체로 생성 가능 - 속성 : 객체를 구성하는 데이터 - 메소드 : 클래스 안에서 속성에 대해 어떤 기능을 수행하는 함수 - 생성자, 소멸자 : 객체 생성과 소멸 시에 자동 호출되는 특별한 메소드 - 연산자 중복 : 연산자(+,- 등) 기호를 이용하여 표현할 수 있도록 함 - 생성자는 def __init__(self,...) : 으로 정의 / 소멸자는 def __del__(self,...) : 으로 정의 - 강아지를 클래스를 이용하여 객체로 표현하기 - class 정의시 기본적으로..
- open() 내장 함수 : 파일을 연결하기 위한 함수 - file open 후에 사용할 수 있는 메소드 - read() 와 read(n) - read() : 파일 내용을 모두 읽어서 str로 반환 - read(n) : 파일에서 n 바이트 읽어서 str로 반환 - read 한 곳 다음 바이트에 커서가 올라가 있기 때문에 계속해서 읽기 가능 - 한 줄씩 읽어 오기 : readline() - readline()은 한 줄을 읽어오고 마지막 개행문자까지 읽어오는 것 - 한 줄씩 읽어 오기 : for 구문 이용하기 - for 구문으로 파일 print해서 읽어오면 한 줄+개행문자까지 읽어오는 것 - readlines() : 파일 전체를 리스트(list)로 반환 - 파일 전체를 리스트로 반환할 때 한 줄씩 들어가는..
- 구문 에러(syntax error) : 문법 에러 - SyntaxError: EOL while scanning string literal => 마지막 부분에 신텍스 에러 - SyntaxError: invalid syntax => 유효하지 않는 신텍스 에러 - 예외(exception) : 구문 에러가 없이 잘 작성된 코드라도 실행 도중 에러 발생 가능 => 잠재적인 에러 = '예외' - NameError: name 'x' is not defined => 존재하지 않는 변수 참조 - TypeError: unsupported operand type(s) for +: …… => 타입 오류 - ZeroDivisionError: division by zero => 0으로 나눠서 오류 - IndexError: l..
- 문제를 제발 잘 읽고 잘 해석 하자 - 실수를 곱하거나 연산을 했다면 결과값이 정수로 나와야 한다면 형변환 하자 - %.2f로 해놓으면 인수가 int형이라도 실수 표현 가능 - input('프로그램을 마치려면 엔터를 누르시오.') 하면 된다 - while 반복문 사용시 언제 반복문을 멈춰야 하는지를 생각해서 조건으로 활용하자 -> 코드 간결해짐 - 문제를 제발 잘 읽고 잘 해석 하자 - 실수를 곱하거나 연산을 했다면 결과값이 정수로 나와야 한다면 형변환 하자 - %.2f로 해놓으면 인수가 int형이라도 실수 표현 가능 - input('프로그램을 마치려면 엔터를 누르시오.') 하면 된다 - while 반복문 사용시 언제 반복문을 멈춰야 하는지를 생각해서 조건으로 활용하자 -> 코드 간결해짐
- 파이썬 중요 구성 요소 1. modules 2. classes 3. built-in functions(내장함수) - 모듈(module) : 코드들을 한 단위로 묶어 사용할 수 있게 하는 하나의 단위 (함수들을 모은 것) 1. 표준 모듈 : 파이썬 패키지 안에 포함된 모듈 2. 사용자 모듈 : 사용자가 만드는 모듈 3. 써드 파티 (third party) : 개인이 만들어서 제공하는 모듈 - 모듈 사용의 장점 1. 코드의 재사용성 2. 서로 다른 모듈에 같은 이름의 메소드가 있어도 충돌 X - 모듈을 반드시 import 후에 사용 가능 dir(모듈) 해당 모듈에 포함된 함수 목록 - 모듈 import 방법 1. import 2. from import 3. import as - 모듈을 만들기 : 데이터와..
- 전역 변수(global variable) : 프로그램 전체에서 사용 가능 - 지역 변수(local variable) : 함수 내에서만 사용 가능 - scoping rule : 변수를 찾을 때 지역 변수 -> 전역 변수 순으로 찾는다. - global 선언 : 전역 변수를 함수 내에서 바꾸고자 하면, global 선언이 필요 (바깥 것을 안에서 바꿔) global a 변수 a를 global 선언함 - 또한, 함수에서 만든 지역 변수를 전역 변수로 사용하고자 할 때도 global 선언 필요 (안 것을 바깥에서 사용) - 함수 매개변수는 지역 변수 - mutable 객체가 인수인 경우 (리스트(list), 집합(set), 사전(dict)) - 사전은 집합의 일종이므로 리스트와 집합의 경우만 보자 - 기본값..
- 함수는 입력과 출력을 갖는 black box(주어진 입력에 대해 어떤 과정 거쳐 출력이 나오는지 숨겨져 있음) - 재사용(reuse) 가능하며 함수 이름, 입력, 출력이 중요함. - 내장 함수(bulit-in functions) : 파이썬 언어에서 미리 만들어서 제공하는 함수들 - IDLE에서 dir(__builtins__) 입력하면 내장 함수 목록 출력함 - 사용자 정의 함수(user-defined function) : 사용자가 직접 만드는 함수 - 군집자료형에 유용한 함수들 len() max() min() sum() sorted() # 리스트가 아닌 튜플, 집합에서 sorted되면 자동으로 리스트로 변환된다. reversed() # 뒤에서 보충 설명 - reversed 함수 : 군집자료형 데이터를..
- 정답 예시보고 마무리 개행문자까지 잘 확인하기 - list와 tuple의 경우 max, min, sum, len 내장함수 이용 가능 - print 여러개 연속으로 출력 가능 - 계산 값의 통일성을 위해서는 print 문자열 %를 이용하자 - 그러나 계산 값의 소수점이 다 다른경우는 그냥 print 한 경우임 - 정답 예시보고 마무리 개행문자까지 잘 확인하기 - list와 tuple의 경우 max, min, sum, len 내장함수 이용 가능 - print 여러개 연속으로 출력 가능 - 계산 값의 통일성을 위해서는 print 문자열 %를 이용하자 - 그러나 계산 값의 소수점이 다 다른경우는 그냥 print 한 경우임
- range() 함수 : 일정 범위의 수를 반환 range(b) 0부터 b-1까지의 수 반환 range(a,b) a부터 b-1까지의 수 반환 range(a,b,n) a부터 b-1까지의 n 간격의 수 반환 ex) A = range(5) >>> type(A) # 출력 (type은 range임) print(A) # range(0,5) 출력 (값이 출력 되는게 아니라 range 자체가 출력) - 따라서 range()를 사용하려면 list() 형변환하여 사용 - for 구문을 이용한 반복문 for 변수 in [데이터 집합 range() or str or list or tuple or set or dict] : 명령어1 .... 명령어n 데이터 집합에서 데이터를 하나씩 변수에 넣고 반복 수행 - for 구문에서도..