알고리즘 문제풀이/BOJ
-
BOJ 2667번 단지번호붙이기 문제 자바(java) 풀이 랭크 : 실버1 백준 온라인 저지(BOJ) 2667번 단지번호붙이기 문제 자바 풀이 백준 2667번 단지번호붙이기 문제정리 1: 집이 있는 곳 0: 집이 없는 곳 단지: 연결된 집들의 모임 연결: 상하좌우로 다른 집이 있는 경우(대각선 X) 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬해 출력해라! 문제풀이 이 문제는 간단하게 dfs를 적용해서 풀 수 있는 문제입니다. 비슷한 문제로는 2468번 안전영역이 있습니다. 모든 위치에서의 dfs 함수를 실행합니다. (값이 1인 곳만) 실행하고 dfs로 탐색하면서 방문 처리를 해줍니다. dfs로 방문할때마다 count를 증가시키며 단지내 집이 몇개 인지 체크합니다. 단..
[백준 알고리즘(BOJ)] 2667번 단지번호붙이기 자바(java) 풀이 (dfs)BOJ 2667번 단지번호붙이기 문제 자바(java) 풀이 랭크 : 실버1 백준 온라인 저지(BOJ) 2667번 단지번호붙이기 문제 자바 풀이 백준 2667번 단지번호붙이기 문제정리 1: 집이 있는 곳 0: 집이 없는 곳 단지: 연결된 집들의 모임 연결: 상하좌우로 다른 집이 있는 경우(대각선 X) 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬해 출력해라! 문제풀이 이 문제는 간단하게 dfs를 적용해서 풀 수 있는 문제입니다. 비슷한 문제로는 2468번 안전영역이 있습니다. 모든 위치에서의 dfs 함수를 실행합니다. (값이 1인 곳만) 실행하고 dfs로 탐색하면서 방문 처리를 해줍니다. dfs로 방문할때마다 count를 증가시키며 단지내 집이 몇개 인지 체크합니다. 단..
2020.02.22 -
BOJ 2468번 안전영역 문제 자바(java) 풀이 랭크 : 실버2 백준 온라인 저지(BOJ) 2468번 안전영역 문제 자바 풀이 백준 2468번 안전영역 문제정리 지역 마다 높이 정보가 주어진다. 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇개가 만들어 지는지 조사한다. 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다. 지역의 높이는 2차원 배열의 형태로 주어진다. 안전영역 : 물에 잠기지 않는 지점들이 위, 아래, 오른쪽 혹은 왼쪽으로 인접해 있으며 그 크기가 최대인 영역 장마철에 내리는 비의 양에 따라서 물에 잠기지 않는 안전 영역의 개수가 다르다 지역의 높이들이 주어졌을때, 물에 잠기지 않는 안전한 영역의 최대 개수를 계산해라!! 문제풀이 이 문제..
[백준 알고리즘(BOJ)] 2468번 안전영역 문제 자바(java) 풀이BOJ 2468번 안전영역 문제 자바(java) 풀이 랭크 : 실버2 백준 온라인 저지(BOJ) 2468번 안전영역 문제 자바 풀이 백준 2468번 안전영역 문제정리 지역 마다 높이 정보가 주어진다. 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇개가 만들어 지는지 조사한다. 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다. 지역의 높이는 2차원 배열의 형태로 주어진다. 안전영역 : 물에 잠기지 않는 지점들이 위, 아래, 오른쪽 혹은 왼쪽으로 인접해 있으며 그 크기가 최대인 영역 장마철에 내리는 비의 양에 따라서 물에 잠기지 않는 안전 영역의 개수가 다르다 지역의 높이들이 주어졌을때, 물에 잠기지 않는 안전한 영역의 최대 개수를 계산해라!! 문제풀이 이 문제..
2020.02.22 -
BOJ 12094번 2048(Hard) 문제 자바(java) 풀이 랭크 : 플레티넘5 백준 온라인 저지(BOJ) 12094번 2048(Hard) 문제 자바 풀이 백준 12094번 2048(Hard) 문제정리 이는 2048 게임을 직접 해보는 것이 더 빠르게 이해할 수 있을 것 같습니다. 간단히 이야기 하자면 2의 배수로만 이루어진 타일들이 있는데 같은 숫자의 타일이 겹쳐지면 더해지는 게임이며 최종적으로 2048이라는 숫자를 가지는 타일을 만들면 끝나느 게임입니다. 2048게임 해보기 문제풀이 처음에는 arrayList를 이용하였다가 시간초과를 해결할 수 없었습니다. 하지만 배열을 이용하고, 가지치기를 잘 하여 시간 내에 통과할 수 있었습니다. 이 문제는 EASY 문제와 달리 이동이 없을 경우 가지치기만 ..
[백준 온라인 저지(BOJ)] 12094번 2048(Hard) 자바 풀이BOJ 12094번 2048(Hard) 문제 자바(java) 풀이 랭크 : 플레티넘5 백준 온라인 저지(BOJ) 12094번 2048(Hard) 문제 자바 풀이 백준 12094번 2048(Hard) 문제정리 이는 2048 게임을 직접 해보는 것이 더 빠르게 이해할 수 있을 것 같습니다. 간단히 이야기 하자면 2의 배수로만 이루어진 타일들이 있는데 같은 숫자의 타일이 겹쳐지면 더해지는 게임이며 최종적으로 2048이라는 숫자를 가지는 타일을 만들면 끝나느 게임입니다. 2048게임 해보기 문제풀이 처음에는 arrayList를 이용하였다가 시간초과를 해결할 수 없었습니다. 하지만 배열을 이용하고, 가지치기를 잘 하여 시간 내에 통과할 수 있었습니다. 이 문제는 EASY 문제와 달리 이동이 없을 경우 가지치기만 ..
2020.02.21 -
BOJ 12100번 2048(Easy) 문제 자바(java) 풀이 랭크 : 골드2 백준 온라인 저지(BOJ) 12100번 2048(Easy) 문제 자바 풀이 백준 12100번 2048(Easy) 문제정리 이는 2048 게임을 직접 해보는 것이 더 빠르게 이해할 수 있을 것 같습니다. 간단히 이야기 하자면 2의 배수로만 이루어진 타일들이 있는데 같은 숫자의 타일이 겹쳐지면 더해지는 게임이며 최종적으로 2048이라는 숫자를 가지는 타일을 만들면 끝나는 게임입니다. 2048게임 해보기 문제풀이 첫 번째 (ArrayList, 중복순열 이용) ArrayList를 중첩하여 이용하여 2차원 배열처럼 사용하여 게임판을 표현 하였습니다. 전체적인 로직은 다음과 같습니다. 우선 ArrayList를 중첩하여 2차원 배열 처..
[백준 온라인 저지(BOJ)] 12100 2048(Easy) 자바 풀이 (arraylist와 배열을 이용한 두 가지 풀이)BOJ 12100번 2048(Easy) 문제 자바(java) 풀이 랭크 : 골드2 백준 온라인 저지(BOJ) 12100번 2048(Easy) 문제 자바 풀이 백준 12100번 2048(Easy) 문제정리 이는 2048 게임을 직접 해보는 것이 더 빠르게 이해할 수 있을 것 같습니다. 간단히 이야기 하자면 2의 배수로만 이루어진 타일들이 있는데 같은 숫자의 타일이 겹쳐지면 더해지는 게임이며 최종적으로 2048이라는 숫자를 가지는 타일을 만들면 끝나는 게임입니다. 2048게임 해보기 문제풀이 첫 번째 (ArrayList, 중복순열 이용) ArrayList를 중첩하여 이용하여 2차원 배열처럼 사용하여 게임판을 표현 하였습니다. 전체적인 로직은 다음과 같습니다. 우선 ArrayList를 중첩하여 2차원 배열 처..
2020.02.20 -
백준 온라인 저지 2573번 빙산 문제 자바 풀이 입니다. 이는 bfs를 이용하는 문제입니다. 문제 링크는 아래에 있습니다!! https://www.acmicpc.net/problem/2573 이 문제는 골드4로 랭크된 문제에요. 하지만 bfs의 개념만 알고 구현할 줄 안다면 그리 어렵지 않습니다. 저는 bfs를 stack을 이용하여 구현하였습니다. 이와 비슷한 문제로 보물섬 문제가 있는데요 백준 2589번도 같이 풀어 보시면 좋을 것 같아요 https://www.acmicpc.net/problem/2589 문제정리 1. 빙산은 양의 정수, 그 외 바다는 0이다. 2. 빙산에 붙어있는 0의 개수만큼 빙산의 높이가 감소된다. ( 단 빙산의 높이는 0보다 더 줄어들지는 않는다.) 3. 그러다가 빙산이 덩어리..
[백준 온라인 저지(BOJ)] 2573번 빙산 자바 풀이 (bfs 문제)백준 온라인 저지 2573번 빙산 문제 자바 풀이 입니다. 이는 bfs를 이용하는 문제입니다. 문제 링크는 아래에 있습니다!! https://www.acmicpc.net/problem/2573 이 문제는 골드4로 랭크된 문제에요. 하지만 bfs의 개념만 알고 구현할 줄 안다면 그리 어렵지 않습니다. 저는 bfs를 stack을 이용하여 구현하였습니다. 이와 비슷한 문제로 보물섬 문제가 있는데요 백준 2589번도 같이 풀어 보시면 좋을 것 같아요 https://www.acmicpc.net/problem/2589 문제정리 1. 빙산은 양의 정수, 그 외 바다는 0이다. 2. 빙산에 붙어있는 0의 개수만큼 빙산의 높이가 감소된다. ( 단 빙산의 높이는 0보다 더 줄어들지는 않는다.) 3. 그러다가 빙산이 덩어리..
2020.02.19 -
BOJ 17413번 단어 뒤집기2 문제 자바(java) 풀이 랭크 : 실버3 백준 온라인 저지(BOJ) 17413번 단어 뒤집기2 문제 자바 풀이 백준 17413번 단어 뒤집기2 문제정리 문자열은 단어와 태그로 이루어져 있다. 태그는 ''사이에 있다. 단어는 영어 알파벳 소문자와 숫자로 이루어져 있다. 태그와 단어는 붙어있다. 이때 단어만 거꾸로 뒤집어서 출력한다. (태그는 뒤집으면 안됨) 태그사이에는 알파벳 소문자와 공백만 있다 문제풀이 문자 하나하나 탐색 처음에는 문자를 하나씩 탐색하면서 했었다. 하지만 이 방법은 시간초과가 나왔다.... ㅠㅠ 답은 제대로 출력이 되었지만 모든 문자를 탐색하기에 시간이 오래걸렸다. flag를 설정하여 '
[백준 온라인 저지(BOJ)] 17413번 단어 뒤집기2 문제 자바(java)풀이BOJ 17413번 단어 뒤집기2 문제 자바(java) 풀이 랭크 : 실버3 백준 온라인 저지(BOJ) 17413번 단어 뒤집기2 문제 자바 풀이 백준 17413번 단어 뒤집기2 문제정리 문자열은 단어와 태그로 이루어져 있다. 태그는 ''사이에 있다. 단어는 영어 알파벳 소문자와 숫자로 이루어져 있다. 태그와 단어는 붙어있다. 이때 단어만 거꾸로 뒤집어서 출력한다. (태그는 뒤집으면 안됨) 태그사이에는 알파벳 소문자와 공백만 있다 문제풀이 문자 하나하나 탐색 처음에는 문자를 하나씩 탐색하면서 했었다. 하지만 이 방법은 시간초과가 나왔다.... ㅠㅠ 답은 제대로 출력이 되었지만 모든 문자를 탐색하기에 시간이 오래걸렸다. flag를 설정하여 '
2020.02.18