본문 바로가기
반응형

전체 글79

[cpp 알고리즘] 백준 1629 곱셈 [백준] 1629 곱셈 cpp 풀이 수학, 분할 정복을 이용한 거듭제곱 https://www.acmicpc.net/problem/1629 문제 요약 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어졌을 때, A를 B번 곱한 수를 C로 나눈 나머지를 출력하면 된다. 풀이 정리 - 분할 정복을 활용하여 지수를 나누어 주면 된다. (1) 지수가 0인 경우 -> X^0 = 1 이므로 1을 리턴해준다. (2) 지수가 짝수인 경우 -> X를 X/2로 나누어서, 계산한 두 값을 곱해준다. (3) 지수가 홀수인 경우 -> X를 X/2로 나누고, 계산한 두 값과 밑을 한 번 더 곱해준다. - 예제에 나왔던 A=10, B=11로 예를 들어 보면, 1. 가장 나이브하게 먼저 생각나는 방법은 for문을 이용하여 .. 2023. 11. 10.
[cpp 알고리즘] 백준 1780 종이의 개수 [백준] 1780 종이의 개수 cpp 풀이분할정복, 재귀https://www.acmicpc.net/problem/1780 문제 요약N(1 ≤ N ≤ 37, N은 3k 꼴) * N 크기의 행렬로 표현되는 종이에서, 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. - 만약 종이가 모두 같은 수라면, 그대로 사용한다. - 아니라면, 종이를 같은 크기의 종이 9개로 자르고, 각각의 종이에 대해서 위의 과정을 반복한다. 출력값으로, 종이를 잘랐을 때, -1로만 채워진 종이의 개수, 0으로만 채워진 종이의 개수, 1로만 채워진 종이의 개수를 구하면 된다. 풀이 정리이전에 진행한 분할정복 문제와 같다. 즉 구간을 나눠가면서, (1) N=1인지 확인하기, (2) 그 부분이 모두 같은 값으로 이루어져있는지 확인하기.. 2023. 11. 9.
[cpp 알고리즘] 백준 1992 쿼드트리 [백준] 1992 쿼드트리 풀이 분할정복, 재귀 문제 출처: https://www.acmicpc.net/problem/1992 문제 요약 - 모두 0으로만 되어 있으면 압축 결과는 "0" - 모두 1로만 되어 있으면 압축 결과는 "1" - 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지 않고, "왼쪽 위/ 오른쪽 위/ 왼쪽 아래/ 오른쪽 아래" 4개로 나누어 압축하고, 이 4개의 영역을 압축한 결과를 괄호 안에 묶어서 표현 예시 문제의 경우: (0(0011)(0(0111)01)1) 로 표현된다. 풀이 정리 1. 모두 0인지 확인, 모두 1인지 확인, 그렇지 않다면 분할정복 2. 분할정복 할 때 n=1인 경우는 먼저 종료시키고 아니면 1의 과정을 반복한다. c++ 코드 #include #include.. 2023. 11. 8.
✖ Failed to install expo package with error: spawn yarnpkg ENOENT - Yarn 설치 Failed to install expo package with error: spawn yarnpkg ENOENT 문제 원인: spawn yarnpkg ENOENT 이 오류는 프로젝트에서 필요한 명령어를 실행할 때 해당 명령어를 찾을 수 없는 경우 발생한다. 이 경우에는 'yarnpkg' 명령어를 찾을 수 없다는 것을 의미한다. 해결방법 1. Yarn을 설치하면 해결 된다. Yarn은 JavaScript 패키지 관리자로, Expo 프로젝트에서 많이 사용된다. npm install -g yarn 2023. 11. 7.
[데이터베이스설계와질의] 트랜잭션(transaction)이란? 출처: 심준호 교수님, 데이터베이스설계와 질의 수업, R. Ramakrishnan and J.Gehrke, Database Management Systems, 3rd ed. 데이터베이스 시스템 3판 Transaction: DB의 프로그램 수행 단위 - DBMS는 시스템이 붕괴된 후 재시동될 때에 모든 데이터(와 처리 중에 있던 응용들의 상태)를 일관적인 상태로 복원하는 것을 보장한다. - DBMS는 각 사용자가 다른 사람들이 동일한 데이터를 동시에 접근하고 있다는 사실을 아무 지장 없이 무시할 수 있도록 데이터의 동시접근을 계획한다. - 미완료 트랜잭션과 시스템 붕괴: DBMS는 완료되지 않은 트랜잭션들에 의해 수행된 변경들이 데이터베이스로부터 제거되는 것을 보장해야 한다. transaction 이란? .. 2023. 11. 6.
[컴퓨터네트워크] 1-6 Protocol layers, service models 출처: 최종원 교수님, 컴퓨터네트워크1 수업, Computer Networking: A Top-Down Approach Featuring the Internet by James F.Kurose and Keith W.Ross 8th, 컴퓨터 네트워킹 하향식 접근 8판프로토콜 계층화네트워크 설계자는 프로토콜(프로토콜을 구현하는 네트워크 하드웨어와 소프트웨어)을 계층(layer) 으로 조직한다.한 계층이 상위 계층에 제공하는 서비스에 관심을 갖고, 이것을 계층의 서비스 모델(service model)이라고 한다.각 계층은 (1) 그 계층 내부에서 어떤 동작을 수행하거나 (2) 직접 하위 계층이 서비스를 사용한다.장점개념과 구조 측면에서 이점이 있다. 시스템 구성요소에 대해 논의하기 위한 구조화된 방법을 제공한.. 2023. 11. 3.
반응형