https://ssungkang.tistory.com/entry/Algorithm-유니온-파인드Union-Find 을 참고해서 작성한 게시글입니다. 공부용으로 작성한 글이기때문에 문제가 있으면 알려주세요! 유니온 파인드 알고리즘이란? 그래프 알고리즘의 일종. 상호 배타적 집합. Disjoint Set 이라고 합니다. 여러 노드가 존재할 때, 어떤 두 개의 노드를 같은 집합으로 묶어주고, 다시 어떤 두 노드가 같은 집합에 있는지 확인하는 알고리즘입니다. 그러기 위해서는 두 가지 연산이 존재합니다. Find 노드 x 가 어느 집합에 포함되어있는지 찾는 연산 Union 노드 x가 포함된 집합과 노드 y가 포함된 집합을 합치는 연산 유니온파인드 구현 구현은 간단한 트리를 통해서 이뤄집니다. parent[i] 를..
x,y좌표와 row,col 은 반대 방향이다. 문제 드래곤 커브는 다음과 같은 세 가지 속성으로 이루어져 있으며, 이차원 좌표 평면 위에서 정의된다. 좌표 평면의 x축은 → 방향, y축은 ↓ 방향이다. 시작 점 시작 방향 세대 0세대 드래곤 커브는 아래 그림과 같은 길이가 1인 선분이다. 아래 그림은 (0, 0)에서 시작하고, 시작 방향은 오른쪽인 0세대 드래곤 커브이다. 1세대 드래곤 커브는 0세대 드래곤 커브를 끝 점을 기준으로 시계 방향으로 90도 회전시킨 다음 0세대 드래곤 커브의 끝 점에 붙인 것이다. 끝 점이란 시작 점에서 선분을 타고 이동했을 때, 가장 먼 거리에 있는 점을 의미한다. 2세대 드래곤 커브도 1세대를 만든 방법을 이용해서 만들 수 있다. (파란색 선분은 새로 추가된 선분을 나타..
문제 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼지가 있고, (r, c)에 있는 미세먼지의 양은 Ar,c이다. 1초 동안 아래 적힌 일이 순서대로 일어난다. 미세먼지가 확산된다. 확산은 미세먼지가 있는 모든 칸에서 동시에 일어난다. (r, c)에 있는 미세먼지는 인접한 네 방향으로 확산된다. 인접..
목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 마감일시 2021년 2월 6일 토요일 오후 1시까지. 애노테이션이란? 애노테이션, 즉 Annotation은 클래스나 메소드 선언 시에 @ 를 사용하는 것을 말한다. Annotation은 어노테이션, 애노테이션, 메타데이터(Metadata) 등으로 불린다. Jdk 5부터 등장했다. 애노테이션의 사용 컴파일러에게 정보를 알려주기 컴파일할 때와 설치시의 작업 지정 실행할 때 별도의 처리가 필요할 때 애노테이션은 클래스, 메소드, 변수 등 모든 요소에 선언 가능하다. java.lang.annotion 안에 들어있다. 애노테이션의 용도 ( 용도를 나타내..
위 아래가 머리가 빠개지는 문제 문제 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 의미한다. 토네이도를 시전하면 격자의 가운데 칸부터 토네이도의 이동이 시작된다. 토네이도는 한 번에 한 칸 이동한다. 다음은 N = 7인 경우 토네이도의 이동이다. 토네이도가 한 칸 이동할 때마다 모래는 다음과 같이 일정한 비율로 흩날리게 된다. 토네이도가 x에서 y로 이동하면, y의 모든 모래가 비율과 α가 적혀있는 칸으로 이동한다. 비율이 적혀있는 칸으로 이동하는 모래의 양은 y에 있는 모래의 해당 비율만큼이고, 계산에서 소수점 아래는 버린다. α로 이동하..
내가 이 문제를 틀린 이유는 소수점 3개(0.000) 을 지키지 않아서 였다. 이런 실수에 주의하자. 문제 두 원이 주어졌을 때, 교차하는 영역의 넓이를 소수점 셋째자리까지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 두 원의 중심과 반지름 x1, y1, r1, x2, y2, r2가 주어진다. 실수는 최대 소수점 둘째자리까지 주어진다. 출력 첫째 줄에 교차하는 영역의 넓이를 반올림해 소수점 셋째자리까지 출력한다. 구현 import math x0, y0, r0, x1, y1, r1 = map(float, input().split()) def area(x0, y0, r0, x1, y1, r1): d = math.sqrt((x0 - x1) ** 2 + (y0 - y1) ** 2) rr0 = r0 * r0 r..
보호되어 있는 글입니다.
바퀴를 언제 돌려야되는지 2시간 이상 고민한 문제. 문제를 한번 다시 예시를 파는 습관을 들이는게 좋을 것 같다. 문제 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다. 톱니바퀴를 회전시키려면, 회전시킬 톱니바퀴와 회전시킬 방향을 결정해야 한다. 톱니바퀴가 회전할 때, 서로 맞닿은 극에 따라서 옆에 있는 톱니바퀴를 회전시킬..
- Total
- Today
- Yesterday
- vim
- hot
- 유용한웹사이트
- linter
- 언제나 함께해요
- CKA
- 세션불일치
- 자바 인강
- 환경세팅
- 자바
- 크론탭
- 스프링 프레임워크 핵심 기술
- 패스트 캠퍼스
- 참고 링크
- https://cupjoo.tistory.com/96
- 파이참
- pycharm
- 자바 인강이 듣고 싶다면 => https://bit.ly/3ilMbIO
- 배포
- EC2
- 디비
- 쉘스크립트
- django
- 주피터노트북 설치
- AWS
- 자바인강
- 쿠버네티스
- 자스계의백과사전
- 패스트캠퍼스
- 마크다운
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |