Lucky Charms Rainbow > '분류 전체보기' 카테고리의 글 목록 (3 Page) — Hoon's Blog

분류 전체보기

    소수값 구하기 - 에라토스테네스의 체

    소수값 구하기 - 에라토스테네스의 체

    소수를 찾는 방법 중 에라토스테네스의 체 방법을 설명드리겠습니다. 시간복잡도: O(NloglogN) 에라토스테네스의 체 원리 1. 2부터 120(예시)까지 모든 숫자를 나열합니다. (1은 소수가 아니므로) 2. 숫자 하나씩 방문하면서 자기자신을 제외한 배수를 제거합니다. (2를 방문했다면 2를 제외한 배수 4부터 지우기) 3. bool함수를 이용해 전에 지웠던 숫자를 다시 방문하지 않게 합니다. 소수만 출력하는 코드 #include const int INF = 10001; int arr[INF]; bool primearray[INF]; void Eratos(int n) { if (n

    mpi4py 설치 오류

    collect2: error: ld returned 1 exit status failure. removing: _configtest.c _configtest.o error: Cannot link MPI programs. Check your configuration!!! [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for mpi4py Failed to build mpi4py ERROR: Could not build wheels for mpi4py, which is required to install pyproject.to..

    gpg: keyserver receive failed: Server indicated a failure 문제

    gpg: keyserver receive failed: Server indicated a failure 문제

    apt key 패키지를 등록하던 중 GPG 키를 가져오려는데 실패했음을 나타내는 오류가 발생합니다. 우선 위 오류 이유는 ha.pool.sks-keyservers.net는 예전에 사용되던 키 서버이기 때문에 keyserver.ubuntu.com로 바꿔주시면 됩니다. (오류 발생 명령어) sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key C3032ED8 ↓ (해결 명령어) sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com --recv-key C3032ED8 이미 keyserver.ubuntu.com 라면 key server 포트가 default 설정이 되지않아 발생할 수도 있..

    [백준]1052번 - 물병 C++

    [백준]1052번 - 물병 C++

    문제 설명 그리드 알고리즘 문제 문제 풀이 저는 이 문제를 보고 바로 2048게임이 생각났습니다ㅋㅋ 이 문제의 규칙은 다음과 같습니다. 2의 거듭제곱마다 하나의 물병으로 만들 수 있습니다. 합쳐지지 못한 물병을 세어가며 들고가야하는 물병의 개수가 K보다 작아질 시점을 구하면 됩니다. 문제 입력 예시인 13 2 로 예시를 들어보겠습니다. 우리는 i값을 구하면 됩니다. 코드 #include int main() { int N, K; int i = 0; std::cin >> N >> K; while (1) { int tmp = N; //N을 0이 될 때까지 나누므로 새로 갱신해야 합니다. int result = 0; //들고가야 할 물병 while (tmp > 0) { if (tmp % 2 == 1) //들고가..

    우분투에서 에어팟프로2 연결하기

    우분투에서 에어팟프로2 연결하기

    Ubuntu 환경에서 블루투스 기기가 가끔 연결이 되지 않는 경우가 있습니다. 하드웨어마다 설정된 블루투스 지원이나 드라이버 상태가 다르겠지만, 특정 기기만 되지 않는다면 다음을 시도해보면 좋을 것 같습니다. (저는 dual로만 연결되는 장치가 있고 bredr로만 연결되는 장치가 존재하네요 흠) 블루투스 컨트롤러(Bluetooth controller)의 동작 모드 변경 sudo vi /etc/bluetooth/main.conf vi 편집기를 통해 main.conf에 있는 설정값을 바꿔줄겁니다. 51번째줄에 ControllerMode = dual 이 주석처리 되어있을텐데요. 주석을 풀고 dual을 bredr로 바꿔주시면 됩니다. 만약, ControllerMode = dual이 없다면 아무 곳이나 새로 추가..

    [백준]1541번 - 잃어버린 괄호 c++

    [백준]1541번 - 잃어버린 괄호 c++

    문제 설명 그리디 알고리즘 문제 입력값이 모두 붙어있기 때문에 string으로 입력 받은 후 숫자를 떼어내 따로 저장시켜줘야 합니다. 입력된 스트링에서 숫자 분리 과정 1. string변수 number에 넣으면서 -, +, 입력받은 문자열의 마지막 문자가 나온다면 이때까지 number에 추가된 문자열을 2. stoi()함수를 통해 int형으로 변환 후 정수형 벡터에 저장시켜줍니다. 3.괄호작업 후 결과값 출력 핵심 1. string은 char, char[]와 달리 끝에 null이 붙지않음 2. string s 초기화: s.clear() 3. string은 stoi 함수를 통해 (string -> int) 변환을 해주어야 함 코드 #include #include #include int main() { st..

    클래스와 객체

    클래스와 객체

    객체는 캡슐화 캡슐화(encapsulation)란? 객체의 구성 요소들을 캡슐로 싸서 보호하고 볼 수 없게 하는 것으로, 객체의 가장 본질적인 특징입니다. 보통 붕어빵을 예시로 많이 듭니다. C++에서의 객체는 멤버 변수와 멤버 함수로 구성 됩니다. 멤버 변수들은 객체의 상태(state)를 나타내는 속성들이며, 멤버 함수들은 행동(behavior)을 구현한 코드들입니다. 외부에서 C++ 객체에게 어떤 작업을 요청하거나 상태를 알고자 할 때, 객체 내에 공개된 멤버 함수를 호출합니다. 클래스는 객체를 정의하는 설계도 붕어빵 예시처럼 C++ 객체는 C++ 클래스라는 틀에서 찍어내어, 멤버 변수 메모리와 멤버 함수 코드를 실제 가지고 C++프로그램이 실행되는 동안 실존하는 실체 혹은 인스턴스(isntance)..

    16928번 - 뱀과 사다리 게임 c++

    16928번 - 뱀과 사다리 게임 c++

    문제설명 1번칸 -> 100번칸을 도달하기까지의 주사위 돌리는 횟수의 최소값을 구하는 문제 다른 대표적인 그래프탐색 문제처럼 상하좌우로 이동하는 것이 아닌, (+1, +2, +3, +4, +5, +6)로만 이동하는 것이기에 1차원 배열을 사용 이 문제에서 가장 중요한 포인트이자, 저를 포함한 많은 분들이 간과했던 문제는 뱀과 사다리가 있는 칸에 주사위 이동으로 갈지 vs 뱀/사다리를 탈지 선택하면 안되는 것 뱀을 타는 것이 더 빠른 경우 1번은 탐색하면서 뱀과 사다리가 있는 칸에 도착한다면 선택의 여지없이 뱀이나 사다리를 무조건 타서 이동시켜야 합니다. if(ladder_snake[next_x] > 0 && ladder_snake[next_x] < next_x) next_x = ladder_snake[n..