일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시뮬레이션
- 세그먼트 트리
- 유니온 파인드
- 구현
- dfs
- Kotlin
- 위상정렬
- 문자열
- 백준
- JUnit 5
- Network
- Effective Java
- 플로이드-와샬
- 백트래킹
- 완전탐색
- swea
- 스택
- 수학
- 후니의 쉽게 쓴 시스코 네트워킹
- 프로그래머스
- 투 포인터
- 이분탐색
- mst
- CS
- 그리디
- 동적계획법
- 에라토스테네스의 체
- BFS
- java
- 알고리즘
목록전체 글 (291)
반갑습니다!
명시적 형변환 코틀린에서는 자바에서 지원하던 묵시적 형변환을 지원하지 않는다. 때문에 명시적 형변환을 사용해야한다. 지원하는 형변환은 다음과 같다. toByte: Byte toLong: Long toShort: Short toFloat: Float toInt: Int toDouble: Double toChar: Char 스마트 캐스트 코틀린에서는 자바와 달리 변수를 선언할 때 자료형을 명시하지 않아도 된다는 특징이 있다. 이는 컴파일러에서 추론해서 자료형을 변환시켜주기 때문이다. Number형으로 정의된 변수에는 저장되는 값에 따라 정수, 실수 등으로 자료형이 변환된다. var test: Number = 12.2 // 12.2에 의해서 Float으로 스마트 캐스트 println("$test") // 12..
17213번: 과일 서리 www.acmicpc.net 풀이 중복 조합을 사용해서 해결하면 된다. 이 때 중요한 것은 모든 과일의 종류가 최소한 1개는 포함되어야한다는 점이다. 이를 조심해서 구현하면 된다. 조합을 구현할 때는 동적 계획법을 사용해서 구현했다. 코드 #include using namespace std; int n, m; int comb[41][41]; int combination(int a, int b) { int& ret = comb[a][b]; if (ret != -1) return ret; if (b == 0 || a == b) return ret = 1; return ret = combination(a - 1, b - 1) + combination(a - 1, b); } int ma..
HTTPS? HTTPS란 HyperText Transfer Protocol over Secure Socket Layer의 줄임말로 HTTP 프로토콜에 보안을 담당하는 레이어(SSL 또는 TLS)를 추가하여 보안성이 강화된 프로토콜이다. HTTP 프로토콜은 단순히 텍스트를 주고받는 프로토콜이기 때문에 누군가가 네트워크에서 신호를 가로챌 수도 있고, 위조된 자료를 전송할 수도 있기 때문에 보안성이 떨어진다는 보안상의 문제가 있었다. 이를 해결하기 위해 등장한 것이 HTTPS 이다. SSL 인증서 HTTPS 프로토콜을 얘기하기 위해서는 SSL 인증서라는 것이 꼭 필요하다. SSL 인증서는 클라이언트와 서버간의 통신을 보증해주는 문서를 의미한다. 인증서의 기능은 크게 2가지가 있다. 클라이언트가 접속한 서버가 ..
XML? JSON? XML과 JSON은 모두 구조화된 문서를 전송 가능하게 만든 텍스트 포멧 형식을 말한다. 쉽게 말해 서버와 클라이언트가 데이터를 주고 받을 때 지정하는 형식이라고 할 수 있다. XML XML은 eXtensible Markup Language의 약자로 HTML과 유사한 태그 기반 마크업 언어이다. XML은 태그 기반 언어이기 때문에 다음과 같이 구성되있다. 멍멍이 3 64 2.14 이처럼 태그를 통해 간단하게 데이터를 표현한다 장점을 알 수 있다. 하지만 XML의 치명적인 단점도 태그 때문에 발생한다. 태그를 통해 데이터를 표현하기 때문에 배열구조, 반복구조일 경우 불필요한 데이터가 계속 나타나고, 불필요한 태그로 인해 데이터의 크기가 커진다. 데이터가 커짐으로써 읽기/쓰기 시간이 오래..
2965번: 캥거루 세마리 www.acmicpc.net 풀이 캥거루 간의 간격을 최대한 길게 유지하면 된다. 예를 들어 캥거루의 위치가 3 5 10 이라면 첫 번째 간격은 2이고 두 번째 간격은 5이다. 따라서 3에 있던 캥거루가 5와 10 사이에 들어가면 되는데, 이 때 그 다음에 다시 점프할 때를 생각해서 계속해서 긴 간격을 유지해야한다. 따라서 5와 10 사이에서 6 또는 9에 점프하게 된다. 5 6 10이라고 하면 그 다음엔 5 캥거루가 7로 점프한다. 이런 방식으로 반복하면 최대 횟수가 된다는 것을 알 수 있다. 따라서 맨 처음 캥거루 사이의 간격의 최대값 - 1이 정답이 된다. 코드 #include #include using namespace std; int main(){ int a, b, c..