Uknow's Lab.
article thumbnail
[백준 10216번] [Kotlin] Count Circle Groups
코딩테스트/Kotlin 2024. 1. 5. 00:23

https://www.acmicpc.net/problem/10216 10216번: Count Circle Groups 백준이는 국방의 의무를 수행하기 위해 떠났다. 혹독한 훈련을 무사히 마치고 나서, 정말 잘 생겼고 코딩도 잘하는 백준은 그 특기를 살려 적군의 진영을 수학적으로 분석하는 일을 맡게 되었 www.acmicpc.net 난이도 : 골드 4 태그 : 자료 구조, 그래프 이론, 그래프 탐색, 기하학, 분리 집합 설명 통신 범위가 직/간접적으로 겹치는 부대는 하나의 부대처럼 행동합니다. 즉, 통신범위가 겹치는 그룹을 모두 같은 그룹으로 묶어 몇 개의 그룹이 나오는지 구하는 문제입니다. 그룹화와 서로 다른 그룹의 개수를 구한다는 점에서 분리집합과 유니온 파인드를 사용할 수 있을 것 같습니다. 분리 집..

article thumbnail
[구름톤 챌린지 19일차] [Kotlin] 대체 경로
코딩테스트/Kotlin 2023. 9. 8. 17:11

https://level.goorm.io/l/challenge/goormthon-challenge?utm_source=notion&utm_medium=cta&utm_content=open&_gl=1*1lv0w8b*_gcl_au*MTA2NTY4MTU0My4xNjkyMDE0OTc4 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 구름톤 알고리즘 챌린지 19일차 : 대체 경로 구름톤 알고리즘 챌린지 19일차 문제인 대체 경로 입니다. 1일부터 n일까지, i일에는 i번째 도시가 공사를 한다고 하였을 때, 해당 도시가 공시중일 때 시작 도시에서 도착 도시로 가는 최단 경로를 찾는 문제였습니다. 단순 최단 경로라면 BFS를 사용한 최단경로 찾기 기법을..

article thumbnail
[구름톤 챌린지 18일차] [Kotlin] 중첩 점
코딩테스트/Kotlin 2023. 9. 7. 14:11

https://level.goorm.io/l/challenge/goormthon-challenge?utm_source=notion&utm_medium=cta&utm_content=open&_gl=1*1lv0w8b*_gcl_au*MTA2NTY4MTU0My4xNjkyMDE0OTc4 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 구름톤 알고리즘 챌린지 18일차 : 중첩 점 18일차 문제인 중첩 점입니다. 바둑판 모양의 정사각형이 있습니다. 한 사각형을 중심으로 상,하,좌,우로 직선을 그리는데요. 각 직선이 교차하면서 생기는 점들의 총 개수를 구하는 문제입니다. 각 칸의 점의 개수를 구하는 방법은 간단합니다. 바로 해당 칸의 수직선 * 수평선의 ..

article thumbnail
[백준 1002번] [Python] 터렛
코딩테스트/Python 2023. 7. 24. 01:55

https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 $-1$ 출력한다. www.acmicpc.net 난이도 : 실버 3 태그 : 수학, 기하학, 많은 조건 분기 설명 x1, y1과 반지롬 x2, y2와 반지름이 주어졌을 때, 위치의 개수를 출력하는 문제입니다. 즉, 외접하거나 내접하는 경우를 찾으면 되겠네요. 위치의 개수가 무한대일 경우 두 원이 일치할 경우, 적이 있을 수 위치는 무한대입니다. 위치의 개수가 0개일 경우 터렛의 두 사람의 위치가 같으나, 반지름이 다를 때, 두 원은 서로 교차하지 않습니다. 따라서 적이 있을 수 있는 위치의 경우..

article thumbnail
[백준 17371번] [Kotlin] 이사
코딩테스트/Kotlin 2023. 6. 2. 17:54

https://www.acmicpc.net/problem/17371 17371번: 이사 $(\frac{2}{3}, \frac{1}{3})$으로 이사를 가면 가장 가까운 편의시설은 (0, 1)으로 거리는 $\frac{2\sqrt{2}}{3}$이고, 가장 먼 편의시설은 (-4, 1) 혹은 (4, -3)으로 거리는 둘 다 $\frac{10\sqrt{2}}{3}$이다. 두 거리의 www.acmicpc.net 난이도 : 골드 1 태그 : 그리디, 기하학 설명 다소 삽질을 좀 했던 문제였습니다. 가장 가까운 편의시설까지의 거리와 가장 먼 편의시설까지의 거리의 평균이 최소가 되는 좌표 가장 먼 편의시설까지의 거리는 잘 모르겠지만, 가장 가까운 편의시설까지의 거리는 사실 계산을 하는 로직이 필요하지 않습니다. 바로 편..

article thumbnail
[백준 9063번] [Kotlin] 대지
코딩테스트/Kotlin 2023. 5. 6. 01:11

https://www.acmicpc.net/problem/9063 9063번: 대지 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. www.acmicpc.net 난이도 : 브론즈 1 태그 : 수학, 구현, 기하학 설명 직사각형의 최소 크기를 출력해야 합니다. 직사각형의 최소 크기를 구하려면, 직사각형의 윗 변의 y좌표가 작을수록, 아랫 변의 y좌표가 클 수록, 오른쪽 변의 x 좌표가 작을 수록, 왼쪽 변의 x 좌표가 클 수록 직사각형의 넓이가 작아집니다. 따라서, 상하좌우의 좌표값을 저장해놓고, 매 값이 들어올 때마다 작거나 큰 값으로 갱..

article thumbnail
[백준 2477번] [Kotlin] 참외밭
코딩테스트/Kotlin 2023. 3. 11. 23:05

https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 난이도 : 실버 2 태그 : 수학, 구현, 기하학 설명 실제 코딩테스트에 연습삼아 응시해봤다가, 기하학 문제에 큰 쓴맛을 느끼고, 기하학 문제를 공부하기로 마음 먹었습니다. 첫 번째 기하학 문제. 참외밭입니다. 밭은 항상 ㄱ 또는 ㄱ을 회전한 모양을 하고 있고, 이 육각형 임의의 점 중 하나에서 시작하여, 동서남북 방향과 길이가 주어집니다. 아, 큰 사각형에서 작은 사각형 그냥 빼면 되겠다. 를..

article thumbnail
[백준 1004번] [Kotlin] 어린 왕자
코딩테스트/Kotlin 2023. 1. 29. 17:38

https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 난이도 : 실버 3 태그 : 수학, 기하학 설명 진입 / 이탈 횟수를 최소로 하는 경로를 찾아야 합니다. 각 행성계와 시작점, 도착점에 따라 나올 수 있는 경우의 수는 3가지 입니다. 1) 시작, 도착점 모두 행성계 외부에 있을 때 시작, 도착점 모두 행성계 외부에 있을 경우, 해당 행성계는 진입/ 이탈 할 필요가 없습니다. 2) 시작, 도착점 모두 행성계 안쪽에 있을 때 시작점, ..

article thumbnail
[백준 16486번] [C언어] 운동장 한 바퀴
코딩테스트/C | C++ 2023. 1. 16. 00:19

https://www.acmicpc.net/problem/16486 16486번: 운동장 한 바퀴 첫째 줄에 d1의 값이 주어진다. 둘째 줄에는 d2의 값이 주어진다. (d1, d2의 값은 100,000 이하의 양의 정수) www.acmicpc.net 난이도 : 브론즈 4 태그 : 수학, 기하학 설명 사각형의 가로 길이와 반지름의 길이가 주어집니다. 그냥 단순히 사각형 가로 길이 * 2 + 원의 둘레 (지름 * pi) 를 하면 나오겠죠? 소스코드 #define _CRT_SECURE_NO_WARNINGS #include int main() { int d1, d2; double pi = 3.141592; scanf("%d", &d1); scanf("%d", &d2); printf("%f", d1 * 2 + ..