본문 바로가기

분류 전체보기

(261)
Beakjoon] 소수 구하기 (백준 1929 코테) - 정수론 (C++) 🅰️문제주소 : https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 🚩문제 🪡풀이 - 최대 범위가 1,000,000으로 주어졌으므로 에라토스테네스의 체를 사용해야 한다. O(Nlog(logN)) 의 시간복잡도를 가진다 - 연산하기 쉽게 0에서 N까지 모두 벡터에 넣은 뒤 에라토스테네스의 체를 돌리며 소수가 아닌 수는 0으로 변경시킨다. - M에서 N사이의 0이 아닌 값을 출력한다. ☕코드는 아래 숨김 더보기 #include #include #include int main() { ..
Beakjoon] 수 묶기 (백준 1744 코테) - 그리디 🅰️문제주소 : https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 🚩문제 🪡풀이 - 최댓값을 구하기 위해 공식을 잘 살펴보면 양/음 수끼리 절댓값이 큰 수의 곱을 묶어줘야 하며 0은 절대로 곱해져서는 안되며 양수 1은 곱해 봤자 이므로 더해줘야 한다. - 위의 분석으로 숫자는 4개의 타입을 가진다 (0, 1, 1을 제외한 양수, 음수) - 1을 제외한 양수와 음수는 우선순위 큐로 나눠서 정렬시키고 남은 수가 1개 이하가 될 때까지 곱을 묶어준다..
Beakjoon] K번째 수 (백준 1300 코테) - 탐색 🅰️문제주소 : https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 🚩문제 🪡풀이 - 문제 그대로 2차원 배열을 만들고 정렬을 시키면 시간복잡도가 N^2으로 초과해버린다. - A[i][j] = i×j 배열에서 두 가지의 규칙을 찾아야 한다. 1) 해당배열은 k번째 값은 k의 값을 넘지 못한다. (3x3배열에서 마지막 인덱스의 값이 9이므로) 2) 한 행에서 '중앙값을 행으로 나눈 값' vs '열의 수' 둘 중 작은 수..
Beakjoon] 트리의 지름 구하기 (백준 1167 코테) - 탐색 🅰️문제주소 : https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 🚩문제 🪡풀이 - 가장 긴 두 점 사이의 거리를 구하는 방법을 알아야 하는데 이는 임의의 어떤 한 점에서 가장 먼 곳의 위치를 찾아낸 후 그 위치로부터 가장 멀리 있는 곳까지의 거리로 구할 수 있다. - map을 그릴때 vector 으로 거리값도 함께 저장하면서 그린다. - 방문여부 배열과, 누적 거리 배열을 만든다. - 임의의 위치에서 BFS를 시작하고 누적거리 ..
Beakjoon] 미로 탐색 (백준 2178 코테) - 탐색 🅰️문제주소 : https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 🚩문제 🪡풀이 - 최단경로를 구하는 문제로 BFS를 사용해서 도달한 깊이값을 사용하면 됨. - 상, 하, 좌, 우 이동이 가능하고 이 이동을 하기위한 값을 미리 저장해 둠. - 방문한 위치는 depth값을 기록하면서 해당 위치에 도달하기 위한 최솟값을 저장해 둠 ☕코드는 아래 숨김 더보기 #include #include #include #include static std::vector map; static std..
Beakjoon] DFS와 BFS (백준 1260 코테) - 탐색 🅰️문제주소 : https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 🚩문제 🪡풀이 - DFS와 BFS의 기본적인 구현. 탐색이 끊긴다던가 특정 depth의 값을 구하는 것이 아니므로 특별한 조건 없이 구현하면 된다. 주의할 점은 방문할 수 있는 정점이 여러개면 번호가 작은 것부터 방문하게 해야 한다는 것인데 이는 정렬을 통해 다른 조건을 줄 필요 없이 간단하게 해결된다. ☕코드는 아래 숨김 더보기 #includ..
UnhandledExceptionFilter() not work. 동작안함 (IDirect3D9) https://learn.microsoft.com/ko-kr/windows/win32/api/errhandlingapi/nf-errhandlingapi-unhandledexceptionfilter UnhandledExceptionFilter 함수(errhandlingapi.h) - Win32 apps 프로세스가 디버그되는 경우 처리되지 않은 예외를 디버거에 전달하는 애플리케이션 정의 함수입니다. learn.microsoft.com 위 함수가 내 PC에서 동작하지 않는 문제가 있었다. 분명 다른 테스트서버에서는 정상적으로 동작하였던 코드였고 수정된 내용도 없었다. 디버깅 중에는 원래 해당 함수가 적용되지 않기에 로그를 찍어가며 확인하는데 이상하게도 특정 로직 동작 이전까지는 정상적으로 작용했다. 그래서 범..
Linux(ubuntu) to Windows , Windows to Linux 파일 전송 (SCP) 나의 상황은 사설 아이피의 Windows 개발 PC와 공인 아이피의 리눅스 Linux 서버 간의 파일 교환이 필요한 상황이었다. 당연히 리눅스로는 공인아이피이기에 다양한 방법으로 전송이 가능하겠지만 내 피시로 다시 파일을 받아야 하는 경우엔 몇몇 방법으로는 불가능한 상황이었다. 때문에 찾아본 SCP 윈도우10이상부터는 디폴트로 설치되는 것 같았다. 사용법은 간단하다. 파일을 어디로 옮기고 싶든지 Windows에서 커맨드 창을 연다 (옮겨야 할 파일이 있는 경로에서 열면 더 편하다) 1. Windows to Ubuntu scp -p [ssh포트] [Windows파일경로] [Ubuntu계정]@[Ubuntu IP]:[Ubuntu파일경로] scp -P 3022 .\test.tar.gz user@222.111.2..