![[Java, 자바] 프로그래머스 게임 맵 최단거리(BFS)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkyeMX%2FbtsFyexY1fc%2FHqAUDoaZBWVXaWJ0Hzsvj0%2Fimg.png)
프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/1844 # 난이도 : LV.2 문제내용 제한사항 입출력 예 풀이방법 좌표를 저장할 Point 클래스를 생성한 뒤 BFS메서드와 Queue를 통해 문제를 해결하였습니다 ! 상하좌우 탐색이 이루어져야 하기 때문에 dx, dy 변수를 생성하여 현재의 위치에서 상하좌우 탐색을 진행하였습니다. 중요한 포인트는 기존에 탐색이 이루어진 부분은 1로 초기화를 해줘야 된다는 점 ! (무한루프가 돌 수 있습니당) 탐색은 최단거리로 진행되어야 하며, 도착지점에 값이 제일 빨리 도착하는 수로 초기화되고 최단거리가 아닌 경우의 수가 도착지점에 도착할 경우 탐색이 이루어진 부분은 1로 초기화를 하였기 때문에..
![[Java, 자바] 백준 14425번, 문자열 집합](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpF9kU%2FbtsFscftLnk%2FL5SP5iD9fkMbRTXDT6pbR0%2Fimg.png)
백준 14425번 👉🏻 https://www.acmicpc.net/problem/14425 # 난이도 : 실버4 문제내용 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다. 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다. 출력 첫째 줄에 M개의 문자열 중에 총 몇 ..
![[Java, 자바] 백준 2589번, 보물섬(BFS)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEKzo9%2FbtsFkTHVHPp%2FVAmnlrxb8KFKwJef5tFHh1%2Fimg.png)
백준 2589번 👉🏻 https://www.acmicpc.net/submit/2589 # 난이도 : 골드5 문제내용 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지나가거나, 멀리 돌아가서는 안 된다. 예를 들어 위와 같이 지도가 주어졌다면 보물은 아래 표시된 두 곳에 묻혀 있게 되고, 이 둘 사이의 ..
![[Java, 자바] 백준 29700번, 우당탕탕 영화예매](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU8NM6%2FbtsEKEQFsrG%2FklpA2tdHgYLAkFF0osv9oK%2Fimg.png)
백준 29700번 👉🏻 https://www.acmicpc.net/problem/29700 난이도 : 실버4 문제내용 도은이는 동아리 문화의 날을 맞이하여 동아리원들과 함께 좌석이 M행 N열의 직사각형 모양으로 배치되어 있는 영화관에서 영화를 보기로 했다. 도은이는 동아리원의 유대감을 중요하게 생각하기 때문에 이미 예매가 완료된 좌석을 피해 동아리원들이 모두 가로로 이어서 앉을 수 있도록 자리를 예매하고 싶어 한다. 도은이를 도와 모든 동아리원들이 가로로 이어서 앉을 수 있도록 예매하는 경우의 수는 총 몇 가지가 있을지 구해보자. 단, 예매한 좌석은 동일하지만, 각 사람이 앉는 위치만 바뀌는 경우는 한 가지로 본다. 입력 첫째 줄에 영화관 세로줄의 개수 N(1≤ N ≤ 1000)과 가로줄의 개수 M(1 ..
![[Java, 자바] 백준 1003번, 피보나치 함수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnA176%2FbtsEDqtevhm%2FXQKPEgl07I8lzN1xI2q9Wk%2Fimg.png)
백준 1012번 👉🏻 https://www.acmicpc.net/problem/1003 난이도 : 실버3 문제내용 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonacci(0)은 0을 출력하고, 0을 리턴한다. fibonacci(2)는 fibonacci(1)과 fibonacci(0)의 결과를 얻고, 1을 리턴한다. 첫 번째 호출한 fibonacci(..
![[Java, 자바] 백준 10798번, 세로읽기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxUFXk%2FbtsEBWxsyoh%2FitX7hYkKs0eKqaFDn99t60%2Fimg.png)
백준 107898번 👉🏻 https://www.acmicpc.net/problem/10798난이도 : 브론즈1문제내용아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다.이 장난감에 있는 글자들은 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를..
![[Java, 자바] 백준 1110번, 더하기 사이클](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsLXZN%2FbtsEy3EjeUF%2F1D9ThSovfmQaf2Joy8ahOK%2Fimg.png)
백준 1110번 👉🏻 https://www.acmicpc.net/problem/1110 난이도 : 브론즈1 문제내용 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26..
![[Java, 자바] 백준 1697번, 숨바꼭질](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMfDpV%2FbtsEtvGzKI4%2FJGeuSSUkzb0d4hTPDuOT8k%2Fimg.png)
백준 1697번👉🏻 https://www.acmicpc.net/problem/1697난이도 : 실버1문제내용수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다.수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오.입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력수빈이가 동생을 찾..