구현8 데이터 체커 Description 원점과 반지름의 형태로 원 N개가 주어진다. 원 N이 서로 교점을 가지고 있는지 없는지 판단하여야 한다. TRY n^2을 이용한 풀이 - TLE 인접한 원의 중심끼리 연산하려했음. [반례존재] 2번째 원에서 1번째, 3번째 원과는 겹치지 않는 상황(2번째원이 1,3번째 원 내접)인 경우, 3번째가 1번째와 교점을 만들 수 있는 상황이 연출될 수 있음. 스택과 큐를 이용한 풀이 큐 안에는 각 원들의 반지름으로 부터 왼쪽, 오른쪽 좌표가 들어 가있음. 각 안에 있는 점들은 각 원에 대한 고유한 id를 가지고 있음. 정렬을 하고 스택에 id를 넣게 되면 같은 번호의 다른 점이 들어올 수 있음 id가 같다는 이야기는 즉, 다른 원과의 교점없이 해당 범위에는 나만 있음을 증명할 수 있음. 각.. Algorithm/백준 2023. 3. 9. 시소짝궁 문제 설명 무게 별 시소의 특정지점에 있을 때 평행을 유지할 수 있다. 짝궁을 이룰 수 있는 경우의 수를 구하시오. 시소는 중심으로 부터 2,3,4m 거리 지점에 좌석이 있고 해당 사람 무게 * 지점 == 다른 사람 무게 * 지점 이 같은 경우라면 짝궁을 이룰 수 있다. 생각한 아이디어 이분탐색 → x 최대공약수 → 어차피 n^2 풀이 [자료구조를 이용한 풀이] 맵 2개를 이용해 풀이함. 하나의 map은 [무게, 사람 수]로 구성 또 다른 map은 [2,3,4m 지점의 무게, 원천지] 로 구성 1번에서 중복으로 같은 무게를 가지고 있는 경우 pair를 자기들끼리 이룰 수 있으므로 계산해줌 2번에서는 원천지로 부터 2개 이상을 가지고 있으면 pair를 이룰 수 있으므로 계산 해줌 import java.ut.. Algorithm/프로그래머스 2023. 2. 26. 백준 - 치즈 문제 설명 공기면과 닿은 치즈는 녹는다. 치즈가 전부 사라지는 시간과 전부 사라지기전 치즈 개수를 구하라 생각한 아이디어 공기면과 맞닿는 치즈인 것을 어떻게 판별 할 수 있을까? 문제 첫줄에 힌트 있음 - > 가장자리는 무조건 적으로 치즈가 존재하지 않음을 의미 가장 자리 부터 탐색에 1이 맞닿는 곳이면 녹을 치즈인 것을 알 수 있다. 풀이 public static int[] solution() { int[] answer = new int[2]; int cheeseCnt = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (map[i][j] == CHEESE) { cheeseCnt++; } } } int hour = 0; int lef.. Algorithm/백준 2023. 2. 12. 이전 1 2 다음