[C++] 진수 변경: 숫자N을 A진법으로 바꿔보기
·
problem solving/개념 정리
숫자 N을 A진수로 바꾸는 방법을 알아보겠습니다. 이 글은 머리로 진수를 바꿀 수 있는 사람이 보시기에 좋습니다. 생각을 코드로 어떻게 짜지? 고민하시는 분들이 보세요. 방법은 N%A를 하는 것입니다. 나머지를 구하면 N = N/A 도 해줍시다. 4를 2진수로 변경하면 100 입니다. 4%2 = 0 -> 4/2 = 2 2%2 = 0 -> 2/2 = 1 1%2 = 1 -> 1/2=0 (0.5지만 다운 캐스팅됨) 0, 0, 1로 나온 값을 거꾸로 보면 100 입니다. #include #include std::string dec(int N, int A) { std::string result; while(N) { result+=std::to_string(N%A); N/=A; } std::reverse(resul..
[C++] prime number. 소수 구하기: 에라토스테네스의 체
·
problem solving/개념 정리
소수 찾을 때 무식하게 반복문 걸리면 시간이 많이 걸린다는 사실은 이미 알겠죠? 아무튼 효율적으로 풀기 위한 방법이 에라토스테네스의 체를 이용한 방법입니다. 외우기 힘든 이름이네요.. https://terms.naver.com/entry.naver?docId=3405213&cid=47324&categoryId=47324 에라토스테네스의 체 에라토스테네스의 체(Eratosthenes’ sieve)는, 임의의 자연수에 대하여, 그 자연수 이하의 소수(prime number)를 모두 찾아 주는 방법이다. 입자의 크기가 서로 다른 가루들을 섞어 체에 거르면 특정 크 terms.naver.com 간단정리 1~100까지의 소수를 구해야 한다고 생각해봅시다. 100에 루트를 씌우면 10입니다. 1~10까지의 소수를 ..
원형 큐(Circular Queue) in C++
·
problem solving/개념 정리
출처: https://www.programiz.com/dsa/circular-queue 아래 그림을 보면 0, 1에 공간이 남았지만 REAR가 컨테이너의 끝에 닿았기 때문에 더 이상 공간이 없다고 판단한다. 아니면 원소들을 다시 items[0]부터 시작하도록 옮기는데 비용이 든다. 형 큐는 원래 알던 일반 Queue를 아래 그림처럼 생각하면 된다. 일반 큐에서 삽입, 삭제를 반복하면서 사용할 수 없는 메모리가 생기는 단점을 보완한 자료 구조다. 원형 큐 동작 원형 큐는 FRONT와 REAR라는 두 가지 포인트를 가진다. FRONT는 큐의 첫번째 원소를 가리킨다. REAR는 큐의 마지막 원소를 가리킨다. FRONT와 REAR는 초기값을 -1로 설정해준다. 1. 원소 삽입 큐가 사이즈를 초과하는지 확인한다...