일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- dfs
- 공개키 암호화
- data structure
- 자바의정석
- jsp
- Queue
- javascript
- JPA
- 생성자
- DB
- sql
- 가상컴퓨팅
- Java
- 클라우드 컴퓨팅
- generic class
- Stack
- 코테
- 암호학
- JDBC
- Algorithm
- spring
- 알고리즘
- python
- dbms
- 크루스칼
- 코딩테스트
- cloud computing
- MVC
- 자료구조
- Today
- Total
목록python (11)
PLOD
1. 흐른 시간 계산 2시 5분에서 4시 1분이 되려면 몇 분이 흘러야 하는지를 어떻게 계산해 볼 수 있을까? 단순히 다음과 같이 2시 5분에서 시작하여 1분 단위로 시뮬레이션을 하며 60분이 되면 시간을 늘리고 분을 다시 0으로 맞추는 식으로 진행해볼 수 있다. hour, mins = 2, 5 elapsed_time = 0 while True: if hour == 4 and mins == 1: break elapsed_time += 1 mins += 1 if mins == 60: hour += 1 mins = 0 print(elapsed_time) 2. 흐른 날짜 계산 2월 5일에서 4월 1일이 되려면 몇 일이 흘러야 하는지를 어떻게 계산해 볼 수 있을까? 윤년이 아니라고 가정하고 2월 5일에서 시작하..
컴퓨터는 문자를 문자로 기억하지 않는다. 그대신 순자로 기억하고 표현한다. 예를 들면 문자 'A'는 65로, 'B'는 66으로 표현한다. 그런데 사람마다 규칙을 개인대로 정하면 자칫 소통하는데 오류가 생길 것이다. 예를 들어 어떤 사람은 'A'는 1로, 'B'는 2로 표현 할 수 도 있을 것이다. 그래서 모든 사람이 공통적으로 쓸 수 있는 표준 규격이 필요한데, 이것이 바로 아스키(ASCII : American Standard Code for Information Interchange)다. 1967년에 만들어졌고 알파벳에 기초를 둔 문자 인코딩 방법이다. 아스키 코드에는 인쇄가 불가능한 33개의 제어문자 코드와 95개의 인쇄가 가능한 문자 코드가 있다. 아스키 코드는 0에서 127까지의 숫자를 이용하여 ..
자료구조란? - 일련의 동일한 타입의 데이터를 정돈하여 저장한 구성체를 의미 - 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러가지 구현방법들 - 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨 - 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음 - 데이터 정돈 목적은 프로그램에서 저장하는 데이터에 대해 탐색 , 삽입 , 삭제 등의 연산을 효율적으로 수행하기 위해서 이다. 알고리즘이란? - 문제를 해결하는 방법을 순서대로 명확하게 기술한 것 - 알고리즘의 각 단계는 정확히 한가지 의미로 해석되어야 한다.(명확성) - 알고리즘의 모든 유효한 입력에 대해 올바른 해를 출력해야 한다.(정확성) - 유효한 입력이 주어지면 반드시 유한한 시간 내에 종료되어야 한다.(정지성) - ..
1. 조건문 조건문이 참 일때 , if 문안쪽에 들여쓴 문자를 실행하고, 아니면 if 문을 실행하지 않는다. 아니면 else 문이나 elif 문을 조건 비교후 실행 한다. a = 200 if a < 100 : print("100보다 작군요") else : print("100보다 크군요") 2. 반복문 반복문은 range() 함수를 통해서 통제가 가능한데 range(0,10)이면 0부터 9까지 반복하겠다는 의미 이다. range(0, 3, 1)은 0에서 시작해서 2까지 1씩 증가하는 값들을 반환하므로 0,1,2를 반환한다.시작값과 증가값은 생략할 수 있는데 시작값을 생략시 0, 증가값 생략시 1으로 간주한다. 그러므로 , range(0, 3, 1), range(0, 3), range(3) 모두 동일하다 f..
Graph그래프는 정점(데이터)과 간선(데이터 간의 거리)으로 이루어진 자료구조이다. 그래프는 BFS,DFS 같은 순회 알고리즘과 Djikstra 같은 최소경로알고리즘을 구현할 때 알아야 될 필수 자료구조이다.그래프는 정점(vertex,node)와 노선인 간선(edge)으로 이루어져 있다. 그래프는 간선의 방향성을 기준으로 나뉜다.그래프는 방향 그래프(Directed graph)와 무방향 그래프(Undirected graph : 양방향 그래프)가 있다. 그래프는 순환성을 기준으로 나눌 수도 있다. 순환 그래프와 비순환 그래프가 있다.인접 행렬을 통해서 그래프를 만들기인접 행렬2차원 배열을 사용하여 그래프의 정점들 간의 연결 관계를 표현행렬의 (i, j)위치에 간선의 유무를 나타내며,무방향 그래프의 경우 ..
코딩테스트를 준비하거나 프로젝트를 구현할 때 데이터를 탐색하는 과정은 필수불가결하다 탐색은 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 의미한다. 프로그래밍에서는 graph, tree등 자료구조 안에서 탐색을 하는 경우가 많이 생긴다. 자료구조란 데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다. 그 중에서 stack과 queue 구조는 BFS, DFS 알고리즘 문제를 해결하기 위해 필요한 자료구조이다. * stack stack은 가장 나중에 들어온 자료가 가장 먼저 처리되는 LIFO(Last-In-First-Out) 자료구조이다. 입구 = 출구 = 1 이다. stack 배열은 append 함수를 사용하여 insert(push) 하고 pop 함수를 사용하여 delete 한다. * queu..