일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이분탐색
- 투 포인터
- 세그먼트 트리
- 완전탐색
- 위상정렬
- Effective Java
- CS
- java
- 동적계획법
- BFS
- 백준
- dfs
- JUnit 5
- 수학
- Network
- 플로이드-와샬
- 백트래킹
- 그리디
- 구현
- mst
- 후니의 쉽게 쓴 시스코 네트워킹
- swea
- 에라토스테네스의 체
- Kotlin
- 프로그래머스
- 스택
- 시뮬레이션
- 유니온 파인드
- 알고리즘
- 문자열
목록전체 글 (291)
반갑습니다!
14888번: 연산자 끼워넣기 www.acmicpc.net 풀이 단순한 백트래킹 문제이다. 연산자의 갯수에 맞춰서 백트래킹을 해주면 쉽게 해결할 수 있다. 코드C++ #include #include using namespace std; #define MAX 10000000000 int n, min_ans = MAX, max_ans = -MAX; int num[100]; int ops[4]; void dfs(int cnt, int result) { if (cnt == n) { min_ans = min(min_ans, result); max_ans = max(max_ans, result); return; } for (int i = 0; i 0) { ops[i]--..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열 처리 문제이다. 알고리즘이 어렵다기보다는 구현할 것이 많아 까다로운 문제이다. 특히 C++의 경우 문자열 처리가 다른 언어에 비해서 약해 구현해야할 것이 많다. 우선 C, D, E, F, ... ,A, B 멜로디는 모두 1글자이지만 C#, D#, F#, G#, A# 은 2글자이므로 C#은 c로 D#은 d로 ... A#은 a로 변환해 멜로디를 찾기 쉽도록했다. 그리고 입력받은 노래 정보에서 재생 길이를 계산해 멜로디를 재생 되는 만큼 재구성했다. 이게 무슨 말이냐면 예를 들어 재생 길이가 5분인데 ..
2665번: 미로만들기 www.acmicpc.net 풀이 BFS문제이다. 이동하면서 방의 색을 바꾼다는 점에서 일반적인 문제들과는 차이가 있다 . 일반적인 BFS 문제에서 방문 여부를 확인하던 방식으로 해서는 해결되지 않는다. 검은방을 최소로 바꾸고 끝방으로 가야 하므로 기존에 방문했던 방에 더 적은 수의 검은방을 바꾼 상태로 재 방문할 수 있기 때문이다. 따라서 방문 여부를 체크하는 방식을 수정해야한다. visited[y][x]를 x, y까지 이동하면서 바꾼 검은 방의 수로 정의하여 해결하였다. 그리고 문제에서 방의 정보에 대한 입력값이 띄어쓰기가 되어있지 않으므로 cin이 아닌 scanf("%1d", &map[i][j])를 사용해서 1자리씩 입력받았다. 코드 #include #include #incl..
전송계층(Transport Layer)의 대표 프로토콜로는 TCP와 UDP가 있다. TCP (Transmission Control Protocol) 인터넷 상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용되는 프로토콜 이 때 IP는 데이터 전송을 처리하고, TCP는 패킷을 추적하고 관리하는 역할을 한다. TCP는 기본적으로 연결성 프로토콜이고 인터넷 환경에서 기본으로 사용한다. TCP 특징 연결형 프로토콜로 가상 회선 방식을 사용한다. 3-way handshake을 통해 연결을 설정하고, 4-way handshake를 통해 연결을 해제 흐름 제어와 혼잡 제어 높은 신뢰성을 보장 전이중 방식(Full-Duplex), 점대점 방식(Point to Point) 위의 특징에도 적혀있듯이, TCP는 ..
HTTP HTTP란 인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말한다. (출처: NAVER 지식백과) GET GET은 서버로부터 정보를 조회하기 위해 설계된 메소드이다. GET은 요청을 전송할 때 필요한 데이터들을 HTTP Request Header부분의 URL에 담아서 전송한다. URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요청 파라미터를 쿼리스트링이라고 부르는데, 이 때 요청 파라미터가 여러 개라면 &로 연결하여 URL을 구성한다. ex) name1으로 value1을, name2에 value2라는 값을 넣어 서버에 요청을 보내는 URL www.dev-mb.tistory.com/resource?name1=value1&name2=value2 ..