일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 충돌 알고리즘
- 알고리즘
- Graham Scan
- 내적
- 다이나믹 프로그래밍
- ubuntu
- 외적
- uclidean algorithm
- C++
- Vector
- SOH
- linux
- PS
- 분할축 이론
- C
- AABB
- Unity
- Expanding Polytope Algorithm
- 문제풀이
- 유니티
- 벡터
- 리눅스
- 수학
- c#
- dp
- 우분투
- 백준
- 보로노이다이어그램
- Doubly Connected Edge List
- GJK
- Today
- Total
목록전체 글 (62)
마이 플밍 블로그
리눅스운영 체제는 패키지와 패키지매니저가 있다. 패키지는 여러 파일이 한데 모인 하나의 압축파일인데 이 안에는 패키지가 잘 실행될 수 있도록 하는 파일들이 들어가 있다. 패키지 매니저는 패키지의 설치, 삭제등을 관리하게 해주는 도구이다. 패키지 매니저로 설치를 명령하면 패키지 매니저는 패키지가 있는 위치로가서 패키지를 다운로드하고 설치를 한다. 패키지 매니저는 패키지의 설치, 변경, 삭제 등을 편리하게 관리할 수 있도록 해주는 도구이다. 사용자가 패키지 매니저를 통해 특정 프로그램의 설치를 요청하면, 패키지 매니저는 패키지가 저장된 위치에서 패키지를 다운로드하여 설치 프로그램을 실행한다. 이런 패키지 매니저는 대표적으로 Debian 계열 리눅스 배포판에는 apt, Redhat 계열 리눅스 배포판에는 rp..
루팅(rooting)이란? 루팅이란 안드로이드 운영체제에서 최상위 권한인 루트권한을 얻어 해당기기에 걸린 모든 제약을 풀어버리는 행위를 뜻한다. 안드로이드에는 기본적으로 사용자가 마음대로 안드로이드를 개조하여 이용하지 못하도록 여러 제약이 걸려있는데 루팅을 하면 시스템 앱을 강제로 삭제하거나 해킹 프로그램을 설치하는등 기존에는 시도할 수 없던 모든 것을 할 권한을 얻는것이다. 루팅의 장점 루팅을 하게되면 다양한 장점이 있다. 나열하자면 1. 성능향상 필요없는 앱을 삭제시키거나 CPU 오버클럭을 통해서 성능을 향상 시킬 수 있다. 2. 커스텀 ROM 사용자지정 ROM을 이용해 설치되어 있지 않은 최신 버전의 Android버전을 설치할 수 있다. 3. 배터리 성능 향상 Magisk모듈, Greenify를 이..
녹스란 무엇인가? 삼성 갤럭시 스마트폰을 사용하는 사람들이라면 모두가 이용하고 있는 보안앱으로 Knox가 있다. 삼성 녹스란 삼성에서 출시한 기업 및 개인 보안용 솔루션이다. 녹스는 제조 단계에서 부터 기기에 내장되어서 기기를 이용하는 유저는 자신도 모르는새에 녹스를 이용하게 되는것이다. 녹스는 해킹이나 기타 보안위협으로 부터 기기를 보호하는 역할을 해주기 때문에 사용자들이 안전하게 기기를 사용할 수 있게 해주는 좋은 보안 솔루션이다. 녹스는 미 국방부의 보안인증 조건(FIPS 140-2)을 통과하고 그 외에도 여러 나라에서 인증을 받은 입증된 성능을 가진 솔루션이다. 여러 국방기관이나 대기업등 보안이 중요한 다양한 곳에서 녹스를 도입해 사용할 정도로 보안에선 확실한 성능을 지니고 있다. 일반 사용자용 ..
개요 스마트폰이나 태블릿 등 가진 전자기기가 제한적일 때도 PC와 같이 VS Code 같은 IDE를 통해 코딩을 하고 싶을 때가 있다. 그럴때 Termux와 code-server를 이용하면 안드로이드 기기에서도 VS Code를 이용할 수 있다. 언제 어디서든 코딩을 할 수 있게 되는 것이다. Termux란? Termux란 Android환경에서 사용가능한 Linux 환경 터미널 에뮬레이터다. 터미널 에뮬레이터의 의미를 보자면 터미널 에뮬레이터는 다른 디스플레이 구조 내에서 비디오 터미널을 재현하는 컴퓨터 프로그램입니다. 즉, 터미널 에뮬레이터에는 서버에 네트워크로 연결된 클라이언트 컴퓨터처럼 단순 머신을 표시할 수 있는 기능이 있습니다. 터미널 에뮬레이터를 사용하면 최종 사용자가 콘솔뿐만 아니라 텍스트 사..
pyodide에선 tkinter안됨
5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net 풀이 1번 노드부터 시작해서 연결된 간선들을 탐색하며 한번 방문했으면 답에 추가하고 이미 방문했다면 연결된 간선들을 탐색만 한다. 탐색을 할때마다 카운트를 1증가시키며 카운트가 2가되면 answer을 반환한다. 코드 #include using namespace std; int n, m; int flag[501]; vector friends[501]; int Find(int u, int c){ int answer = 0; if(flag[u] == 0..
1937번: 욕심쟁이 판다 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에 www.acmicpc.net 풀이 평범하게 모든타일에서 시작해서 탐색하면 시간초과에 걸린다. 메모이제이션을 이용하면 쉽게 통과할 수 있다. 코드 #include using namespace std; int board[501][501]; int dp[501][501]; int dx[4] = {0,0,-1,1}; int dy[4] = {1,-1,0,0}; int answer = 0; int n; bool InMap(int x, int y){ if( 0 n; priority_queue..
개요 컴퓨터와 관련된 일을 하다보면 리눅스와 우분투라는 말을 많이 들어보았을 것이다. 많은 사람들이 쓰는 것 같지만 뭔지 잘 몰라서 리눅스와 우분투에 대하여 이번시간에 한번 정리해 보았다. Linux란 무엇인가? Linux는 리누스 토르발스가 커뮤니티 주체로 개발한 Unix 기반의 컴퓨터 운영체제, 혹은 커널을 말한다. Window나 Mac 같이 잘 정의되어진 운영체제가 아니고 커스터마이징 가능한 오픈소스 OS를 만들 수 있는 커널에 가깝다. Linux는 유닉스 기반의 무료 오픈 소스 운영체제라 커널을 통해 사용자가 직접 커스터마이징이 가능하다. 무료이기에 다운하고 수정하여 수정판을 배포할 수 있고 다른 사람들이 공유한 다른 배포판을 사용할 수도있다. Linux커널은 사용자를 위한 운영체제 역할을 하는 ..
11780번: 플로이드 2 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 풀이 플로이드-워셜 알고리즘에서 경로추적을 추가하면 되는 문제다. 문제는 쉬웠으나 못가는 경우 0을 출력하는걸 깜빡해서 여러번 틀렸다. 코드 #include #include using namespace std; #define CITY 105 #define INF 200000000 int map[CITY][CITY]; int nextNode[CITY][CITY]; int n, m; void FloydWarshall(){ for(int i = 1; i n >> m..
아래 링크는 GJK 알고리즘에 대한 설명이다. GJK 알고리즘을 잘 모르면 읽어보길 바란다. 충돌 알고리즘(collision detection algorithms) 충돌 알고리즘인 AABB, OBB, GJK 알고리즘에 대한 설명 www.slideshare.net EPA(Expanding Polytope Algorithm)의 필요성 GJK 알고리즘으로 우린 도형이 충돌판정을 알 수 있다. 하지만 말그대로 충돌을 했냐 안했냐만 알 수 있기 때문에 이것만 가지고선 제대로된 게임을 만들 수 없다. 그래서 우린 EPA를 통해서 충돌한 Edge 방향을 가리키는 노멀인 Contact Normal과 얼마나 깊게 충돌했는지 알수 있는 충돌 깊이 값인 Depth를 알아내어야 한다. GJK에서는 민코스키 차가 원점을 포함하..