분류 전체보기

    [네트워크] TCP와 UDP의 비교

    [네트워크] TCP와 UDP의 비교

    두 개 다 데이터를 보내기 위해 사용하는 프로토콜이다. TCP Transmission Control Protocol, 전송제어 프로토콜 인터넷을 통해 종단 간에 신뢰성 있는 바이트 스트림을 전송하도록 설계되었다. TCP서비스는 송신자, 수신자 모두가 소켓이라고 부르는 종단점을 생성함으로써 이루어진다. TCP에서 연결 설정은 3-way handshake를 통해 이루어진다. 연결 해제는 4-way handshaking을 통해 이루어진다. 흐름 제어 및 혼잡 제어 기능을 수행한다. UDP User Datagram Protocol, 사용자 데이터그램 프로토콜의 약자로 비연결형 프로토콜이다. IP 데이터그램을 캡슐화하여 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공한다. 흐름제어, 오류제어 또는 손상된..

    [SWEA] D4 1238 Contact (JAVA)

    [SWEA] D4 1238 Contact (JAVA)

    문제 저작권 문제로 인해 링크만 첨부합니다. https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15B1cKAKwCFAYD&categoryId=AV15B1cKAKwCFAYD&categoryType=CODE&problemTitle=1238&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 풀이 방법 이 문제는 인접배열을 사용해서 풀었다. 우선 입력값을 활용해서 인접 배열을 만들고, 나장 나중에 연락을 받는 사람 중에서 가장 큰 번호를 가진 사람을 찾아야하기 때문에 BFS를 사용했다. 시작원소를 queue에 넣고 while문을 ..

    [BJ] 백준 10163 색종이(JAVA)

    [BJ] 백준 10163 색종이(JAVA)

    문제 https://www.acmicpc.net/problem/10163 풀이 방법 이 문제는 서브태스크로 채점이되는 문제이다. 서브태스크 문제는 약간 예외를 생각하기 좋은 것 같다. 문제를 간단하게 설명하자면 여러장의 색종이를 순서대로 놓는데 겹쳐서 놓을 수가 있다. 출력값으로 색종이를 다 놓았을 때 각각의 색종이가 보이는 면적을 출력해야한다. (https://yoon990.tistory.com/33 이 문제가 생각이 났다.) 그래서 위에서 언급한 문제를 응용해서 이번에는 무조건 1로만 채우는 것이 아니라 색종이의 번호를 넣어주는 식으로 생각을 했다. 첫번째 색종이 면적은 1로, 2번째면 2로 .. 이런식으로 N번째 색종이까지 다 채운 후, 마지막에 1부터 N까지 map에 자신에 해당하는 번호가 몇 개..

    [BJ] 백준 2628 종이자르기 (JAVA)

    [BJ] 백준 2628 종이자르기 (JAVA)

    문제 https://www.acmicpc.net/problem/2628 풀이 방법 우선 행과 열의 크기에 맞게 1차원 배열을 선언해줬다. 그리고 그 배열에는 입력에 따라서 자른 점선 번호이면 1로 배열 값을 수정해줬다. 문제와 같은 예시로 설명을 하자면 num 1 2 3 4 5 6 7 8 9 cutM 0 0 0 1 0 0 0 0 0 num 1 2 3 4 5 6 7 cutN 0 1 1 0 0 0 0 이런식으로 값이 들어가게 된다. 그 후 이제 각각 배열을 돌면서 temp 길이를 1을 하나씩 추가하다가 1을 만나면(잘려진 선을 만났으므로) 최대 길이와 비교해서 필요시 최대길이를 업데이트해주고 temp는 다시 0으로 설정해준다. (새로운 길이 시작) 열과 행을 같은 방법으로 구현 후, 각각의 max값을 곱해주..

    [SWEA] D4 7465 창용 마을 무리의 개수 (JAVA)

    [SWEA] D4 7465 창용 마을 무리의 개수 (JAVA)

    문제 저작권 문제로 인해 링크만 첨부합니다 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWngfZVa9XwDFAQU&categoryId=AWngfZVa9XwDFAQU&categoryType=CODE&problemTitle=7465&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 서로소 집합에 대해서 공부한 뒤 풀어본 문제였다. 사람 사이의 관계를 입력받아서 총 무리가..

    [BJ] 백준 15686 치킨배달 (JAVA)

    [BJ] 백준 15686 치킨배달 (JAVA)

    문제 https://www.acmicpc.net/problem/15686 풀이 방법 문제를 보고서 어떤식으로 문제를 풀어야할 지 순서를 생각해봤다. 1. 우선 치킨집에서 어떤 치킨집을 남겨둘 것인지에 대한 조합 만들기 2. 골라진 치킨집들을 가지고 치킨거리를 구하기 3. 치킨 거리를 구하면서 최소값 저장하기 순서로 구현했다. 제출 코드 import java.io.*; import java.util.*; public class BJ_15686_치킨배달 { public static int N, M, minDist; public static int[] chickenDist; public static int[][] map; public static int[][] selectChicken; public stati..

    [Spring] 인프런 스프링 입문 강의 정리 #1

    [Spring] 인프런 스프링 입문 강의 정리 #1

    [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 글에서 나오는 모든 코드와 사진들은 김영한님의 인프런 스프링 입문 강의에서 가져온 것임을 미리 알립니다. 오늘은 알고리즘도 하기 싫고 cs도 하기 싫어서 그냥 스프링 강의를 들었다. (아무것도 안하면 불안한 취준생이라...) 그 유명한 김영한 님의 스프링 강의! 처음 듣는 거라서 우선 무료 강의를 들어봤다. 강의를 들으면서 정리해야하는 내용들과 나중에 공부할 때 도움이 될만한 내용들을 적을 예정이다. 글에서 나오는 모든 코드와 사진들은 김영한님..

    [CS] Caching이란?

    [CS] Caching이란?

    Cashing 캐싱이란 저장한다는 뜻을 가지고 있다. 오랜 시간이 걸리는 작업의 결과를 저장해서 시간과 비용을 줄이는 기법을 의미한다. 캐싱은 고성능 애플리케이션을 만드는데 가장 중요한 요소 중에 하나다. 캐싱과 비슷한 예) 같은 사진을 여러번 사용하려고 할 때, 매번 다운로드 받는것이 아니라 로컬 파일에 저장했다가 사용하고 싶을 때 로컬에 저장된 이미지를 사용한다. CPU는 연산의 결과를 빠르게 저장하기 위해서 메인메모리보다 빠른 캐쉬 메모리를 사용해서 빠르게 작업을 처리한다. 그냥 한마디로 말하자면 원래 있던 장소보다 더 가까운 곳에 저장해놓고 매번 가져다 쓰는거라고 생각하면 된다. 문제 미리 저장해 놓는다고 좋은 것만은 아니다. 만약 원본이 있던 곳에서 원본 데이터가 변경이 되었을 경우엔 자동으로 ..

    [네트워크] HTTP의 GET과 POST의 차이점

    [네트워크] HTTP의 GET과 POST의 차이점

    GET과 POST는 둘다 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청할 때 사용하는 방식이다. GET GET 방식은 요청하는 데이터가 HTTP Request Message의 Header 부분에 url이 담겨서 전송된다. 그렇기 때문에 URL에 ? 뒤에 데이터가 붙어 request를 보낸다. 예시로 www.hello.com?type=test&id=text 이런 형태를 띈다. GET방식은 url에 정보가 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다. 또한 보통 클라이언트에서 서버측에 요청을 보낼 때 GET과 POST를 사용하는데 패스워드나 개인정보가 url에 담겨서 전송이 된다면 보안적으로 위험할 수 있다. 그래서 GET방식은 주로 서버에서 데이터를 가져올 때 사용한다. 단순한 조회 기..