본문 바로가기

BE

[C++][STL] map 사용법 정리 인트로 안녕하세요. 오늘은 C++ STL 연관 컨테이너 중 하나인 map에 대해 알려드리겠습니다. 목차 1) Map이란? 2) Map 기본 형태 3) Map 정렬 4) Map 사용방법 - 헤더 포함 - map 선언 - search : map에서 데이터 찾기 - insert : map에서 데이터 삽입 - for : 반복문 사용하기(인덱스 기반, 범위 기반) - delete: map에서 데이터 삭제 - code : 전체 코드 1) MAP이란? map은 각 노드가 key와 value 쌍으로 이루어진 트리입니다. 특히, 중복을 허용하지 않습니다. 따라서 map은 first, second가 있는 pair 객체로 저장되는 데 first- key로 second- value로 저장됩니다. C++의 map의 내부 구현은.. 더보기
[프로그래밍] 2의 보수 구하기, 왜 2의 보수는 음수인가? 인트로 안녕하세요. 오늘은 프로그래밍의 개념 중 하나인 '보수'에 대해 포스팅하겠습니다. 보수란 '보충해주는 수'라는 의미를 가지고 있습니다. 10진수 10이 있을때, 4의 보수를 구하라고 하면 4를 더해서 10이 되는 숫자인 6이 '10에 대한 4의 보수'입니다. 즉, N이 있을때, N의 '2의 보수'를 구하라고 하면 다 더해서 N이 되는 숫자인 그 '어떤 수'가 보수인 것이죠. 2진수에서 2의 보수( two's complement )는 음수를 나타냅니다. 목차 1) 왜 2의 보수는 음수인가? 2) 2의 보수를 구하는 과정 3) 2의 보수 구하는 방법 정리 4) 2진법 계산기 사이트 소개 1) 왜 2의 보수는 음수인가? 10진수에서 2에 대한 10의 보수는 8입니다. 즉 2 + 8 = 10 이기 때문이.. 더보기
[C++][OpenCV] Opencv과 VisualStudio 연동하기 인트로 안녕하세요. 오늘은 OpenCV와 VisualStudio와 연동하는 방법에 대해 포스팅하겠습니다. OpenCV 는 영상처리 등에 많이 쓰이는 컴퓨터 비전 라이브러리입니다. 이미지 프로세싱에 많이 쓰이곤 합니다. 1. OpenCV 설치하기 내가 사용하고 싶은 OpenCV 버전을 선택합니다. (비교적 최신 버전으로) OpenCV 페이지 바로가기 : https://opencv.org/releases/ Releases opencv.org 2. Visual Studio 프로젝트 생성하기 1) Visual Studio의 프로젝트 속성에 Debug x64세팅 3. Visual Studio 프로젝트 속성에서 경로 설정하기 1) 디렉터리 경로 추가 C/C++ > 일반 > 추가 포함 디렉터리에 경로 추가 경로 : .. 더보기
i+1 과 i++ 의 차이점 인트로 우리는 조건문 또는 반복문, 구문을 작성할때 i+1또는 i++을 넣습니다. 이 두 가지 연산자 사용은 명확히 다릅니다. i+1로 쓰게 된다면 현재 i값에 1을 더한 값을 쓰겠다는 의미이므로 i값이 증가하지 않고, i++로 쓰게 된다면 i = i+1의 의미이므로 i값은 증가합니다. 예시 1) i+1을 쓰는 경우 for(int i=0;i 더보기
[C++][Vector] 범위 기반 반복문 인트로 안녕하세요. 오늘은 범위기반 for문에 대해서 알아보겠습니다. 범위기반 for문은 C++11에서 적용되었다고 합니다. (ISO가 승인한 2011년 8월 12일에 승인한 C++ 프로그래밍 언어의 최신판) 기존의 복잡한 for문에서 문법이 확장되어 간결한 형태로 사용할 수 있습니다. (구 버전) 기존의 형태 기존 for문은 아래와 같이 시작인덱스, 종료조건, 증감연산을 주어주어야했습니다. 1) 인덱스 기반 기존 접근형태 vector v; for (int i=0; i 더보기
[C++][형변환] int에서 char*, char*에서 int로 변경하기 인트로 안녕하세요. 오늘은 C++에서 int 에서 char*/char* 에서 int 로 변경하는 방법에 대해서 포스팅하겠습니다. (형변환) int char* : https://life-with-coding.tistory.com/284 (형변환) int string : https://life-with-coding.tistory.com/283 int char* 형변환 1) int 에서 char*로 변경하기 int data = 5; char temp[2] = ""; itoa(data, temp, 10); 그렇지만 itoa를 그냥 쓰게 되면, 다음과 같은 Visual Studio오류가 발생합니다. 오류 C4996 'itoa' The POSIX name for this item is deprecated. Inst.. 더보기
[C++][형변환] int to string, string to int / int to char, char to int 인트로 안녕하세요. 오늘은 C++ 형변환에 대해서 포스팅하겠습니다. (형변환) int char* : https://life-with-coding.tistory.com/284 (형변환) int string : https://life-with-coding.tistory.com/283 int string 형변환 알고리즘 문제를 풀다가 알게된것은, char*로 푸는 것보다 string으로 선언해서 푸는 것이 훨씬 쉽다는 것입니다. 또한, C++로 풀때 String 함수를 사용할 경우 아래와 같이 string을 꼭 include 해야합니다. #include 1) int에서 string으로 변경하기 int data = 100; string st = to_string(data) int에서 string으로의 형변환은 .. 더보기
[JAVA] 자바의 final 상수 인트로 변수는 말 그대로 '변하는 수'입니다.그런데, 프로그램에서는 변하지 않는 값이 필요하다고 합니다. 예를 들어 원주율 π 는 3.141592.. 로 변하지 않는 '상수 값'입니다. 1. 상수의 의미 상수란, '항상 변하지 않는 값'을 상수라고 합니다. 즉, 초기화되는 순간 그 값을 바꾸지 못합니다. 2. 자바에서 상수 자바에서 상수는 final 예약어를 사용해 선언한다고 합니다. ( C++에서는 constant를 이용해 선언합니다 ) 'final'은 마지막이라는 뜻입니다. 즉, 마지막으로 정했으니 변경할 수 없다는 뜻입니다. final double PI = 3.141592; final int MIN_VALUE = 100; 3. 예제 자바에서는 관례상 final이 아닌 static final로 선언하.. 더보기