백준(boj)

백준(boj)

[JAVA]1802 종이접기 분할정복

📚 문제 1802번: 종이 접기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 1000보다 작거나 같은 자연수이다. 둘째 줄부터 T개의 줄에 각각의 종이가 어떻게 접혀있는지가 주어진다. 종이의 정보는 문자열로 주어지며, 1 www.acmicpc.net 🔍 아이디어 종이의 반을 접는 경우 A | B 와 같다면 A와 B는 접는기준으로 대칭적이라는 특징이 있다. 해당 특징을 이용하여 중간점을 기준으로 A와 B가 대칭인지 확인하고 A와 B종이도 종이의 절반을 기준으로 대칭적인지 계속해서 재귀적으로 탐색한다. 예제 입력 3 0 000 1000110 예제 출력 YES NO YES 📝 풀이 import java.io.BufferedReader; import java.io.IOException; import j..

백준(boj)

[JAVA]17829 222 풀링 - 분할 정복

📚 문제 17829번: 222-풀링 조기 졸업을 꿈꾸는 종욱이는 요즘 핫한 딥러닝을 공부하던 중, 이미지 처리에 흔히 쓰이는 합성곱 신경망(Convolutional Neural Network, CNN)의 풀링 연산에 영감을 받아 자신만의 풀링을 만들고 이를 22 www.acmicpc.net 🔍 아이디어 분할 정렬 문제로 정형적인 풀이로 풀면 됩니다. 매개변수: n: 풀링 영역의 크기를 나타내는 변수입니다. startX: 풀링 영역의 시작 X 좌표입니다. startY: 풀링 영역의 시작 Y 좌표입니다. 반환값: 두 번째로 큰 값(풀링 값)을 반환합니다. 동작: 만약 n이 1인 경우, 주어진 startX와 startY에 해당하는 map의 요소 값을 반환합니다. 2x2 크기의 nMap 배열을 생성하고 nMap..

백준(boj)

[JAVA]2798 블랙잭 완전탐색(조합)

📚 문제 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 🔍 아이디어 1. 재귀적 풀이는 숫자 3개를 고르는 과정이 조합과 같기 때문에 해당 방식을 이용하였습니다. 2. 반복문 풀이는 숫자 3개를 고르는 과정을 3중 포문을 이용해서 arr에서 i, j, k숫자를 뽑는 경우에 대해서 목푯값과 비교하여 문제를 해결할 수 있습니다. 📝 풀이 1. 재귀적 import java.io.BufferedReader; impor..

백준(boj)

[JAVA]1527 금민수의 개수 (완전탐색)

✨ HINT 숫자를 아예 4,7로 구성해 보는 방식 숫자를 4,7로 구성한 후에 a와 b사이에 속하는지 확인하는 방식 📚 문제 1527번: 금민수의 개수 첫째 줄에 A와 B가 주어진다. A는 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. B는 A보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 🔍 아이디어 범위가 1~1,000,000,000이기 때문에 모든 수에 대해서 4,7로 이루어져 있는지 판단하는 것이 시간이 너무 오래 걸릴 것이라 생각하였습니다. 다른 방법은 아예 숫자 자체를 4,7로 이루어지게 한 후에 min, max사이에 해당 값이 있는지를 판단하는 것이 낫다고 생각하여 해당 방식을 이용하였습니다. Int형의 범위..

백준(boj)

[JAVA]19236 청소년 상어, 골드2 시뮬레이션

📚 문제 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 🔍 아이디어 시뮬레이션 문제입니다. 삼성의 시뮬레이션 문제는 문제를 잘 읽고 문제에 적힌 순서 그대로 코드를 짜는 것이 중요한 것 같습니다. 이를 위해서 먼저 이동해야할 물고리를 모두 식별하고, 해당 물고리를 index순으로 정렬 후에 이동시킵니다. 이동 후에는 상어가 움직입니다. 여기서 상어가 먹을 수 있는 모든 물고리에 대해서 DFS를 진행합니다. (물고기가 현재 이동 방향으로 이동할 수 없다면 반시계방향으로 45도 회전한다.) ->..

백준(boj)

[JAVA]1189 컴백홈, 실버1

📚 문제 1189번: 컴백홈 첫 줄에 정수 R(1 ≤ R ≤ 5), C(1 ≤ C ≤ 5), K(1 ≤ K ≤ R×C)가 공백으로 구분되어 주어진다. 두 번째부터 R+1번째 줄까지는 R×C 맵의 정보를 나타내는 '.'과 'T'로 구성된 길이가 C인 문자열이 주어진다 www.acmicpc.net 🔍 아이디어 해당 문제에서 확인할 점은 왼쪽 아래에서 오른쪽 위로 향한다는 점입니다. 이 부분만 주의해서 DFS 알고리즘을 수행하면 됩니다. DFS알고리즘을 선택한 이유는 K번째 시간에 (0, c-1) 지점에 오는 것이므로 경우의 수를 세기 좋은 깊이 우선탐색을 이용하여 문제를 해결하였습니다. (BFS로 풀면 최단 거리를 구하기는 용이하지만 각 경로에 대해서 해당 경로에 따른 방문탐색을 비교하고 k번째 인 것을 확..

백준(boj)

[JAVA]13904 과제, greedy , 골드3

📚 문제 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 🔍 아이디어 그리디 알고리즘으로 해결하였습니다. 해당 문제는 과제의 마감일과 과제의 점수를 주고 최대 얻을 수 있는 과제 점수를 찾는 문제입니다. 저의 경우는 보통의 그리디와 같은 문제인줄 알고 먼저 배열을 마감일을 기준으로 오름 차순 정렬하였습니다. 그 이후에 마감일을 돌면서 해당 마감일 안에 해결할 수 있는 과제들이 있는 경우 우선순위 큐에 넣고 큐에 값이 있는 경우 해당 날자에 해결 할 수 있는 문제가 있는 것임으로 점수가 가장 큰 것을 리턴하도록 하였습니다. 하지만 예제 출력 값과 달라 문제..

백준(boj)

[JAVA]1002 터렛, 내접과 외접

📚 문제 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 🔍 아이디어 https://mathbang.net/101#gsc.tab=0 두 원의 위치관계, 내접, 외접 위치관계 또 나오네요. 이번에는 두 원의 위치관계에요. 위치관계 마지막이니까 정신 바짝 차리고 따라오세요. 원과 직선의 위치관계, 원의 할선과 접선, 접점에서 했던 것처럼 두 원이 어떤 관 mathbang.net 내접과 외접에 관한 문제입니다. 각 점을 기준으로 r 떨어진 거리에 사람이 있는경우는 원을 그려서 해당 해당 호 안에 사람이 있어야 한다는 소리로 인식했습니다. 따라서 두 원의 내접과, 외접..

백준(boj)

[JAVA]14567 선수 과목 (위상정렬 입문 추천)

📚 문제 14567번: 선수과목 (Prerequisite) 3개의 과목이 있고, 2번 과목을 이수하기 위해서는 1번 과목을 이수해야 하고, 3번 과목을 이수하기 위해서는 2번 과목을 이수해야 한다. www.acmicpc.net 🔍 아이디어 단순한 위상정렬 문제입니다. 위상정렬 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 위상 정렬(topological sorting)은 유향 그래프의 꼭짓점들(vertex)을 변의 방향을 거스르지 않도록 나열하는 것을 의미한다. 위상정렬을 가장 잘 설명해 줄 수 있는 예 ko.wikipedia.org 과거에 다른 블로그에 작성한 글입니다. 위상정렬 Topology Sort, 백준 1766 문제집(Java) 위상 정렬(Topology Sort) 정렬..

백준(boj)

[JAVA]14676 영우는 사기꾼? 위상정렬 골드3

📚 문제 14676번: 영우는 사기꾼? 프로그램의 입력은 표준 입력으로 받는다. 입력의 첫 줄에는 건물 종류의 개수 N, 건물 사이 관계의 개수 M, 영우의 게임 정보의 개수 K가 주어진다.(1 ≤ N, M, K ≤ 100,000) 다음 줄부터 M줄에 걸쳐 www.acmicpc.net 🔍 아이디어 오랜만에 풀어본 위상정렬 문제였습니다. https://lahezy.tistory.com/40 (제가 과거에 작성한 위상정렬 관련 글입니다) 위상정렬 Topology Sort, 백준 1766 문제집(Java) 위상 정렬(Topology Sort) 정렬 알고리즘의 일종으로, 순서가 있는 작업을 차례대로 수행해야 하는 경우 사용할 수 있는 알고리즘이다. 방향 그래프로의 모든 그래프를 방향을 거스르지 않도록 순서 la..

cons-ps
'백준(boj)' 카테고리의 글 목록 (2 Page)