일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dfs
- python
- jsp
- 자료구조
- 공개키 암호화
- BFS
- dbms
- 자바의정석
- 가상컴퓨팅
- 코딩테스트
- MVC
- data structure
- javascript
- generic class
- Queue
- sql
- Algorithm
- Stack
- 알고리즘
- Java
- spring
- 암호학
- DB
- 생성자
- 코테
- 크루스칼
- cloud computing
- JDBC
- 클라우드 컴퓨팅
- JPA
- Today
- Total
목록분류 전체보기 (128)
PLOD
재귀란 어떤 사건이 자기 자신을 포함하고 있거나 또는 자기 자신을 사용하여 정의하고 있을 때를 의미한다. 재귀를 효과적으로 사용하면 무한한 값에 대한 정의 뿐만 아니라 프로그램도 간결하게 구할 수 있다.보통 큰 문제를 작은 부분 문제로 나눠서 풀 때 사용한다.(ex. 팩토리얼, 피보나치 같은 작은 규칙 → 큰 규칙)1. 기저 사례(재귀를 종료시킬 조건(재귀 깊이)) 2. 반복 작업 메인 로직 (재귀 호출을 위한 점화식)기저 사례는 재귀함수를 멈춰줘야 하기 떄문에 재귀 함수 가장 위에 있다. 메인 로직 같은 경우는 같은 일을 하는 함수이므로 점화식 같은 규칙을 추론해낼줄 알아야한다. factorial 구하기재귀를 사용한 예로 가장 먼저 음이 아닌 정수의 팩토리얼 값을 구하는 프로그램이 있다. 음이 아닌 ..
컴퓨터는 문자를 문자로 기억하지 않는다. 그대신 순자로 기억하고 표현한다. 예를 들면 문자 'A'는 65로, 'B'는 66으로 표현한다. 그런데 사람마다 규칙을 개인대로 정하면 자칫 소통하는데 오류가 생길 것이다. 예를 들어 어떤 사람은 'A'는 1로, 'B'는 2로 표현 할 수 도 있을 것이다. 그래서 모든 사람이 공통적으로 쓸 수 있는 표준 규격이 필요한데, 이것이 바로 아스키(ASCII : American Standard Code for Information Interchange)다. 1967년에 만들어졌고 알파벳에 기초를 둔 문자 인코딩 방법이다. 아스키 코드에는 인쇄가 불가능한 33개의 제어문자 코드와 95개의 인쇄가 가능한 문자 코드가 있다. 아스키 코드는 0에서 127까지의 숫자를 이용하여 ..
1. 최장 맨해튼 거리 맨해튼 거리는 x,y 평면의 두개의 점에서 거리를 최단 거리로 구하는 문제이다. 맨해튼 거리 문제의 의미는 결국 좌표평면 위헤서의 어떤 구현이라는 걸 보여주는 단어이기 때문에 맨해튼 거리로 거리를 측정하라는 표현에 우리는 문제를 풀면서 좌표평면의 개념을 떠올려야 한다 완전 탐색 주어지는 수는 4개이기 때문에 좌표는 두개 밖에 생성이 안된다. 실제로 가능한 경우의 수는 24가지 정도이다. a,b,c,d를 무작위로 배열 한뒤 중복되지 않도록 for ~ if ~ continue로 처리 하여 각 점의 x,y 값을 정하고, distance 값을 구하기 위해 abs 함수를 이용한다. 나온 dist 값들 중 최대값을 구하기 위해 max 함수를 사용한다. S = list(map(int, inpu..
자료구조란? - 일련의 동일한 타입의 데이터를 정돈하여 저장한 구성체를 의미 - 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러가지 구현방법들 - 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨 - 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음 - 데이터 정돈 목적은 프로그램에서 저장하는 데이터에 대해 탐색 , 삽입 , 삭제 등의 연산을 효율적으로 수행하기 위해서 이다. 알고리즘이란? - 문제를 해결하는 방법을 순서대로 명확하게 기술한 것 - 알고리즘의 각 단계는 정확히 한가지 의미로 해석되어야 한다.(명확성) - 알고리즘의 모든 유효한 입력에 대해 올바른 해를 출력해야 한다.(정확성) - 유효한 입력이 주어지면 반드시 유한한 시간 내에 종료되어야 한다.(정지성) - ..
Javascript는 프로그래밍 언어로 HTML 상에서 쓸 수 있는 언어이다. 모든 브라우저는 기본적으로 Javascript를 알아듣게 설계되어 있고, 모든 웹서버는 HTML+CSS+Javascript를 응답 데이터로 주게 되어 있다. JS 변수, 상수 선언법 JS에서는 변수를 let,var로 정의 할 수 있고 상수를 const로 정의 할 수 있다. 자바 스크립트에는 int,String 같은 변수 자료형을 선언해 줄 필요는 없다. 변수를 선언할 떄 var과 let을 사용할 수 있는데 var은 이전 JS 버전에서 사용하는 변수 선언 방법이다. var 변수명; let 변수명; 상수를 선언 할 때는 const를 사용한다. const 상수명; console.log()에 여러 값을 한 번에 넣어 출력할 수 도 있..
Spring 프로젝트를 진행하고 있는데 생각보다 JS를 쓸 일이 많아 공부해야 될 필요성을 느꼈다. 자바스크립트를 현재 Spring/Spring boot에서 다루는 이유는 Spring Legacy로 JSP 프로젝트를 진행할 때 자바스크립트가 쓰이기 때문이다. (이제부터 JavaScript를 JS로 줄여서 적을 예정이다...) 현재 웹사이트는 사용자와 실시간으로 정보를 주고 받는 Application 처럼 동작한다. 자바 스크립트는 웹 요소를 가지고 와서 필요에 따라 스타일을 변경하거나 움직이게 할 수 있는 동적웹을 만드는데 필수적이다. 특히 .jsp 파일에서 UI 부분에 많이 활용된다. 웹을 중심으로 하는 서비스가 늘어 나면서 브라우저에서 처리해야 될 일이 증가 하였다. 이에 라이브러리와 React,An..