728x90 전체 글71 [Algorithm] 백준 2573 (BOJ 2573) 빙산 문제풀이!! (Java) 안녕하세요 coding-knowjam입니다. 오늘은 백준 온라인 저지에 있는 2573번 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/2573 1. 문제 설명 해당 문제에서 요구하는 바는 단순합니다. 주변에(상하좌우 인접)에 바다가 있으면 바다의 개수만큼 빙산의 높이가 감소하고, 주어진 빙산이 2 덩이로 분리될 때는 최초의 년수를 구해서 출력하면 됩니다. 한 가지 신경 써야 할 부분은 빙산의 높이가 얼마큼 감소하는지를 계산할 때, 이전 빙산이 다 녹아서 바다가 된 경우는 계산에 포함하지 않아야 한다는 점입니다. 실제로는 동시다발적으로 높이가 감소하는 형태이니까요 이 부분만 고려하시면 어렵지 않게 풀 .. Algorithm & Data Structure/문제풀이 2022. 4. 11. [Algorithm] 백준 2468(BOJ 2468) 안전 영역 문제풀이!! (Java) 안녕하세요 coding-knowjam입니다. 오늘은 백준 온라인 저지에 있는 2468번 안전영역 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/2468 1. 문제 설명 해당 문제는 BFS순회를 통해 2차원 배열의 상하좌우가 연결되어있는 영역이 최대일 때의 개수를 구하면 되는 문제입니다. 문제에서는 따로 비가 얼마나 내린다라는 명시가 없는데, 지문을 자세히 보면 "내리는 비의 양에 따른 개수를 모두 조사해보면~" 이란 문구가 있는데 이를 통해서 내릴 수 있는 비의 모든 높이를 탐색해보라는 것을 알 수 있습니다. 여기까지 보면 전부 탐색해야 하나 싶으실 텐데, 사실 그렇진 않습니다. 결국 땅이 잠기는 건.. Algorithm & Data Structure/문제풀이 2022. 4. 7. [Algorithm] 백준 5014(BOJ 5014) 스타트링크 문제풀이!! (Java) 안녕하세요 coding-knowjam입니다. 오늘은 백준 온라인 저지에 있는 5014번 스타트 링크 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/5014 1. 문제 설명 해당 문제는 내가 현재 있는 층(S)에서 목표로 하는 층(G)으로 이동하기 위해 엘리베이터를 몇 번을 이용해야 하는지를 출력해야 하는 문제입니다. 사실문제가 S, G, U, D 이런 문자들을 서서 읽기가 조금 불편할 뿐이지 BFS를 통해서 아주 쉽게 풀 수 있습니다. 간단한 풀이이므로 글로 설명을 해보자면 다음과 같습니다. 현재 있는 층에서 엘리베이터를 이용해 이동할 수 있는 2가지의 경우를 모두 구합니다. 이동한 층을 모두 방문 .. Algorithm & Data Structure/문제풀이 2022. 4. 5. [Algorithm] 백준 2644(BOJ 2644) 촌수계산 문제풀이!! (Java) 안녕하세요 coding-knowjam입니다. 오늘은 백준 온라인 저지에 있는 2644번 촌수 계산 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/2644 1. 문제 설명 문제에서 요구하는 것은 두 사람 간의 촌수를 계산하는 것입니다. 문제 해결을 위해서 DFS, BFS 둘 중 어느 걸로 접근해도 상관은 없습니다. 저는 둘 중에서 BFS를 선호하기 때문에 BFS로 풀었습니다. 그래프 문제를 풀 때처럼 문제에서 주어진 사람 간에는 간선의 길이가 1로 연결되었다고 보고, 인접한(이동 가능한) 노드로 이동한다고 생각하면서 코드를 작성하였습니다. 어려운 문제는 아니므로 바로 코드를 살펴보겠습니다. 2. Jav.. Algorithm & Data Structure/문제풀이 2022. 4. 5. [Algorithm] 백준 3085(BOJ 3085) 사탕 게임 문제풀이!! (Java) 안녕하세요 coding-knowjam입니다. 오늘은 백준 온라인 저지에 있는 3085번 사탕 게임 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/3085 1. 문제 설명 이번 문제는 완전 탐색을 사용한 구현 문제입니다. 보드의 크기가 최대 50이므로 완전 탐색으로 모든 경우의 수를 체크해봐도 시간 복잡도 상에서는 문제가 없습니다. 그러므로 인접한 사탕의 색이 다른 경우 사탕끼리 바꾸고, 같은 색으로 연속된 최대의 길이를 구하면 됩니다. 한 가지 주의할 점은 사탕의 위치를 바꾸지 않았을 때가 최대의 길이가 나올 수도 있으므로, 초기 상태에서 최대의 길이를 미리 구해놓고 시작해야 한다는 것입니다. 그 외.. Algorithm & Data Structure/문제풀이 2022. 4. 5. [Algorithm] 백준 5639번(BOJ 5639) 이진검색트리 문제풀이! (Java) 안녕하세요 coding-knowjam입니다. 오늘은 백준 온라인 저지에 있는 5639번 이진 검색 트리 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/5639 1. 문제 설명 해당 문제는 읽어보셔서 아시겠지만 이진 검색 트리를 직접 구현하면 되는 문제입니다. 문제에서는 이진 검색 트리를 전위 순회한 결과를 입력값으로 준다고 말하지만, 생각해보면 그냥 전위 순회 결과든 뭐든 정수를 받아서 내가 구현한 이진 검색 트리에 저장하고 나서 후위 순회를 돌리면 되는 문제입니다. 간단한 문제이므로 코드를 살펴보겠습니다. 2. Java로 문제 풀이 package study.blog.codingknowjam.algo.. Algorithm & Data Structure/문제풀이 2022. 4. 4. [Algorithm] 백준 1655번(BOJ 1655) 가운데를 말해요 (Java) 안녕하세요 coding-knowjam입니다. 오늘은 백준 온라인 저지에 있는 1655번 가운데를 말해요 문제를 풀어보겠습니다. 문제에 대한 링크는 아래에 있으니 문제를 먼저 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/1655 1. 문제 설명 문제에서 요구하는 바는 숫자가 하나씩 추가가 될 때, 현재까지 나온 숫자들 중에서 중간값을 출력하면 됩니다. 숫자의 개수가 홀수면 중간값이 1개이고, 짝수인 경우는 중간값이 없기 때문에 중간에 있는 두 수중에서 작은 수를 출력하면 됩니다. 문제를 해결하기 위한 가장 간단한 방법은 정수가 추가될 때마다 배열을 정렬해서 중간에 있는 값을 출력하는 것입니다. 그러나 이러한 방식으로 접근을 하게 되면 시간 초과 판정을 받게 됩니다. 문.. Algorithm & Data Structure/문제풀이 2022. 4. 4. [Network] HTTP에 대해서 알아보자!! (4편 - HTTP Method) 안녕하세요 coding-knowjam입니다. 오늘은 HTTP 메서드에 대해서 알아보겠습니다. 1. HTTP Method (HTTP 메서드) HTTP 메서드는 대표적으로 유명한 GET과 POST가 있고, 실제로 현업에서 개발을 할 때도 가장 많이 보셨을 거예요 메서드가 수행하는 역할은 무엇일까요?? 앞서 포스팅했던 것들을 통해서 유추가 가능하지만 HTTP 메서드는 클라이언트가 요청을 할 때, 서버에서 수행되기를 바라는 동작을 의미합니다. 우리가 앞서 살펴본 요청 메시지의 시작 라인에는 HTTP 메서드를 작성해야 합니다. 예를 들어 "GET /menus HTTP/1.1"이라는 요청 메시지가 있을 때, 서버는 menu 목록을 조회하는 동작을 수행할 것입니다. 동일한 리소스에 대해서 "POST /menus HT.. Network 2022. 1. 13. 이전 1 2 3 4 ··· 9 다음 728x90