본문 바로가기
반응형

분류 전체보기1308

주피터 노트북(Jupyter Notebook)이란? 설치해보기! 주피터 노트북이란? 웹 브라우저상에서 코드를 단계적으로 실행해볼 수 있는 프로그램 여러 결과를 누적해서 볼 수 있으면 마크다운을 비롯한 편리한 기능을 제공해준다. 주피터 노트북 설치 ** python을 먼저 설치하고 해당 포스팅을 보셔야 합니다. ▶ [Python] 파이썬 설치 [Python] 파이썬 설치 파이썬 설치는 공식 사이트에서 다운 받아 간단하게 진행할 수 있다. ▶ https://www.python.org/downloads/ 설치할 때, "Add Python" 체크해야 환경 변수가 제대로 잡힌다. 명령 프롬프트 실행: "Ctrl + R"을.. zoosso.tistory.com 정상적으로 설치했다면 cmd 창에서 아래와 같은 결과 확인 종료하는 것은 [Ctrl] + [Z] 누르면 된다. pip .. 2021. 8. 5.
[BOJ] 백준 1977 완전제곱수 출처: https://www.acmicpc.net/problem/1977 Approach 완전탐색 기법이란? 유형 문제이다. 완전탐색 기법이란? 가능한 모든 값을 대입해보는 무식한(?) 방법에 해당된다. 문제 내용 속에서 특정 규칙을 찾아서 모든 Case를 대입해보지 않고도 풀리는 경우도 있지만 충분한 제한 공간과 시간이 주어진다면 zoosso.tistory.com 두 수 N, M이 10000 이하의 자연수이기 때문에 M, N 사이의 특정 구간을 모두 탐색해도 TLE가 발생하지 않는다. for문으로 탐색하되, 완전 제곱수를 i * i로 표현 - M과 N사이의 숫자인지 - 해당 되는 완전 제곱수들의 합 - 최소값 처리 #include const int MAX_NM = 1e4; inline int min(i.. 2021. 8. 5.
[BOJ] 백준 1934 최소공배수 출처: https://www.acmicpc.net/problem/1934 Approach 두 수가 주어지면 최소공배수(Least Common Multiple, LCM)를 구하는 문제이다. 문제에서 설명한대로 최소 공백수의 정의를 이용해서 반복문으로 단순하게 구현할 수도 있지만 최대 공약수(Greatest Common Divisor, GCD)는 유클리드 호제법(Euclidean Algorithm)을 이용하여 구할 수 있다. 또한 최대 공약수를 통해서 최소공백수(LCM)를 쉽게 구할 수 있다. → LCM = A * B / GCD(A, B) ex) 10과 50의 최소공배수 = 50 일 때, 10과 50의 최대공약수 = 10 → 최소공배수 (LCM) = 50 = 10 * 50 / 10 정답 출력시에는 별도 배열.. 2021. 8. 4.
[BOJ] 백준 13701 중복 제거 출처: https://www.acmicpc.net/problem/13701 Approach 메모리 제한이 8MB (= 8,000,000 Byte)로 여유롭지 못한 편이다. 중복되는 숫자인지 확인하는 방법 중에는 int arr[n];에서 n이 기존에 등장한 숫자인지 확인하는 것이다. 하지만 n의 범위가 33554432로 1 Byte인 char 타입으로 구현해도 → 33,554,432 → 대략 34 MB 크기가 필요하다. ▶ [ps] 알고리즘 문제 풀 때, 메모리 제한? (feat. 구조체 메모리 계산) [ps] 알고리즘 문제 풀 때, 메모리 제한? (feat. 구조체 메모리 계산) 코딩 테스트와 같이 알고리즘 문제 풀 때, 메모리 제한이 엄격한 경우가 있다. 이때는 문제 설계 단계에서 메모리가 얼마나 필요.. 2021. 8. 2.
[ps] 알고리즘 문제 풀 때, 메모리 제한? (feat. 구조체 메모리 계산) 코딩 테스트와 같이 알고리즘 문제 풀 때, 메모리 제한이 엄격한 경우가 있다. 이때는 문제 설계 단계에서 메모리가 얼마나 필요할지 계산해서 구현해야 한다. Q) int는 4Byte 입니다. 그렇다면 int[] 배열 크기를 100만 (= 106) 으로 잡으면? A) int arr[1'000'000]; → 4 × 1,000,000 = 4,000,000 = 4MB 이다. 만약에 int 배열 크기가 1억(10^8)으로 잡는다면 → 400 MB 가 된다. 구조체 메모리 계산 하나의 자료형으로 이루어진 구조체 크기도 어렵지 않게 계산할 수 있다. struct Node { int x, y, state; } que[3000 * 3000]; → (int) 4 byte × 3개 × 3000 × 3000 = 10^8 MB .. 2021. 8. 2.
[C++] [STL] bitset bitset - 비트연산과 관련된 STL 이다. ▶ 비트마스크 (Bitmask) 비트마스크 (Bitmask) 비트마스크 정수의 이진수 표현(Bit)을 자료 구조로 쓰는 기법 현대의 모든 CPU는 이진수를 이용해도 모든 자fy 표현 내부적으로 이진수를 사용하는 컴퓨터들은 이진법 관련 연산들을 아주 빨리 zoosso.tistory.com - 헤더파일: #include - bitset은 [index]로 접근해서 연산자로 쓰기/읽기 가능하다. - 주의할 점은 기존 배열이나 문자열과 다른게 시작 인덱스 "0"이 앞쪽이 아닌 뒤쪽(역순)이라는 점이다. 관련 함수 - reset(index): index 비트를 "0" 으로 변경 → bit[index] = 0; 생략시 전체 비트 "0"으로 변경 - set(index, .. 2021. 8. 1.
[C++] [STL] Priority_queue (feat. 여러 기준으로 우선순위 큐 구현해보기) 우선순위 큐 (Priority_queue) 큐(Queue) 선입선출(First In First Out) 구조였다면 우선순위 큐(Priority Queue)는 들어온 순서가 아닌 우선순위에 따라 먼저 처리되는 구조이다. 내부적으로 Heap 자료 구조가 구현되어 있다. ▶ 우선순위 큐 (Priority Queue) ← STL 없이 직접 구현해보기 ▶ 힙(Heap) 자료구조란? 우선순위 큐 (Priority Queue) 우선순위 큐 큐는 선입선출(First In First Out) 자료구조이지만 우선순위 큐는 들어온 순서가 아닌 정의된 우선순위에 따라 먼저 처리되는 구조이다. ex) 수행할 작업이 여러개 있고 시간이 제한되 zoosso.tistory.com 힙(Heap) 자료구조란? Heap - 최대값 또는 .. 2021. 8. 1.
버티컬(Vertical) 마우스 사용 후기 (feat. MX VERTICAL) 손목을 보호해주는 사용하지는 1년 6개월 정도 했는데, 이제와서 포스팅하게 되었네요. 버티컬 마우스에는 다양한 제품이 있는데... 그 중에서도 제가 mx vertical을 선택하게 된 이유는 리뷰 평이 좋고 제가 원하는 기능들을 가지고 있어서 입니다. IT 제품 관련 전문 블로그도 아니기에 많은 기능이 있는데도 모두 작성되지 않음을 참고해주세요. 장점 - DPI (Dots Per Inch) 조절 기능 → 마우스 민감도라고도 표현하는데 개개인마다 속도감이 다르기에 필요. - 무선 여부 → 기본적으로 USB 수신기가 동봉되어 있는데, 다른 무선마우스와 달리 마우스 안에 보관하는 공간이 없습니다. → 책상에 지저분한 선을 선호하지 않는 분에게 필수적이죠. + 블루투스 연결도 지원된다고 하네요ㅎ - USB 충천.. 2021. 7. 31.
기계식 키보드? 사용 후기 (feat. 청축 / 갈축 / 백축 / 적축 / 흑축) 기계식 키보드 개인 작업 환경에서 많이 언급되는 개인적으로 "데스크테리어"나 작업률을 올려주는 것에 관심이 많은 편입니다. ▶ 모니터암 사용후기 및 구매 Tip ▶ 버티컬(Vertical) 마우스 사용 후기 (feat. MX VERTICAL) 모니터암 사용후기 및 구매 Tip 모니터암 최근 회사와 집에 모니터암을 설치하기 위해서 3가지 제품을 구매해 보았습니다. - 마운트뷰 듀얼모니터 거치대 MV-G100 - 루나랩 싱글 모니터 암 - 루나랩 듀얼 모니터 암 모 zoosso.tistory.com 버티컬(Vertical) 마우스 사용 후기 (feat. MX VERTICAL) 손목을 보호해주는 사용하지는 1년 6개월 정도 했는데, 이제와서 포스팅하게 되었네요. 개인적으로는 이나 에 이어 만족하고 있는 제품입.. 2021. 7. 31.
[C++] [STL] List List - 헤더파일: #include - Vector가 배열 기반이었다면 List는 노드 기반이다. - 이중 연결리스트로 구현되어 있다. 그렇기에 원소 중간 삽입시에도 효율적이다. (앞/뒤/중간 추가 가능) ▶ 순차 리스트(정적 배열) & 연결 리스트(동적할당) 비교 [List] 순차 리스트(정적 배열) & 연결 리스트(동적할당) 비교 순차 리스트(정적 배열) & 연결 리스트(동적할당) 비교 List를 구현하는 방법에는 순차 리스트(배열), 연결 리스트 존재한다. ※ 관련 연산: 삽입(insert), 접근(access) 및 탐색(search), 삭제(delete) 각 zoosso.tistory.com 관련 함수 - push_back(val): 뒤쪽에 val 원소 추가 - pop_back(): 뒤쪽 원소.. 2021. 7. 30.
반응형