본문 바로가기

전체 글30

bits/stdc++ 헤더가 인식되지 않을 때 평소처럼 Mac에서 Clion을 써서 알고리즘 문제를 풀고 있었었다. 잠깐 쉬다가 저녁에 문제를 다시 풀려고하니 멀쩡하게 잘 include했던 헤더가 인식이 안됐다. 띠용... bits/stdc++헤더란? bits/stdc++ 헤더는 cpp로 문제를 풀 때 코테에서 자주 사용하는 헤더들을 모아놓은 헤더다. gcc 컴파일을 사용하는 환경이면 대부분 지원이 되지만 표준 헤더가 아니기 때문에 로컬에서 사용시 임의로 만들어 주어야 한다. C++11(?) C++13(?) 이하는 지원하지 않는 헤더인데 BOJ를 비롯한 대부분의 환경에서는 지원한다. 문제를 해결하기 위해 시도한 방식은 해당 헤더를 설치했던 경로에 다시 설치를 해주는 거였다. 보통 두 가지 방법(경로)이 있다. 방법 1) /usr/local/inclu.. 2021. 5. 16.
Mac에서 Linux 원격 데스크톱 연결 (실패의 기록) 접속해야 할 서버 컴퓨터는 Azure on Linux환경이었고 아무래도 gui가 편하니까 ssh보다는 vnc를 이용한 접속 방법들을 위주로 시도해봤다. 방법 1) vnc-viewer ❌ 1. 터미널로 vnc viewer 설치 brew install vnc-viewer 2. vnc viewer 실행 후 IP와 포트번호 입력 3. 무한 로딩... 그리고 접속 실패 방법 2) Mac OS 내장 원격 프로그램 (화면 공유) 이용 ❌ 1. 화면 공유 프로그램 실행 2. IP와 포트번호 입력 3. 띠용 방법 3) Microsoft remote desktop ❌ 1. 터미널로 microsoft remote desktop 설치 brew install microsoft-remote-desktop 2. PC name에 아.. 2021. 5. 16.
W4 note O(n) ←→ Ω(n) upper bound : 상한, key보다 큰 첫번째 위치 (초과)를 반환 원하는 값 k를 초과한 값이 처음 나오는 위치를 찾는 과정 lower bound : 하한, key보다 크거나 같은 첫번째 위치 (이상)을 반환 원하는 값 k 이상이 처음 나오는 위치를 찾는 과정 선형탐색(Linear Search), 버블정렬(Bubble sort), 선택정렬(Select Sort), 병합정렬(Merge Sort) 선형 탐색 : 평균적으로 선형 검색이 최악의 상황에서 종료되는 것에 가깝다고 가정할 수 있습니다. 선형 검색은 자료가 정렬되어 있지 않거나 그 어떤 정보도 없어 하나씩 찾아야 하는 경우에 유용합니다. 이러한 경우 무작위로 탐색하는 것보다 순서대로 탐색하는 것이 더 효율적입니다. ⇒ .. 2021. 2. 14.
W3 note preprocessing : clang이나 make 명령어 를 통해 소스 코드를 실행하게 되면 라이브러리들(헤더파일)은 실제 코드로 대체됨. 해당되는 코드를 가져와 소스 코드에 붙여넣는 것. compiling : 소스 코드를 어셈블리 코드 (중간 코드)로 바꾸는 단계. assembling : 어셈블리 코드를 0과 1로 이루어진 머신 코드로 바꾸어줌. linking : 0과 1로 이루어진 머신 코드들을 하나의 파일로 합침. Compiling Process CS50 샌드박스 도구들 help50 printf debug50 check50 style 50 control + l == 터미널에 명령어 clear 디버그 기능 사용하기!!! 디버깅 프로그램이 없다면? 코드를 짤 때 가독성있게 짜고 해당 함수가 어떤 기능.. 2021. 2. 14.
W2 note C언어 컴파일러 clang 소스코드와 머신코드 파일 두 개 . 현재 있는 위치 ./a.out 현재 위치에 있는 a.out 이라는 머신코드 실행 clang -o hello hello.c // 소스코드 hello.c의 머신코드를 hello로 정하기 ls : 리스트 불러오기 rm : 제거하기 mkdir : 디렉토리 만들기 rmdir : 디렉토리 지우기 make 프로그램 이름 // 프로그램 만들기 // ex make string string answer = get_string("what's your name?") $ clang -o string string.c -lcs50 o string 은 string.c 를 string.out 이라는 머신코드로 저장하도록 하는 명령어. lcs50은 “link”라는 의미를 지.. 2021. 2. 14.
W1 note 컴퓨팅적 사고력 분해 (Decomposition) 패턴파악 (Pattern Recognition) → 유사점과 차이점 찾기 패턴의 일반화(Pattern Generalization) : 추상화 (Abstraction) 알고리즘 설계 (Algorithm Design) 컴퓨팅적 사고 (문제 해결 방법론) != 컴퓨터 사이언스 (학문) 2021. 2. 14.