[C++] static_cast 연산자
자료형을 변환할 때, C 언어는 암시적 형변환과 명시적 형변환 2가지가 존재합니다. 간략하게 설명하면 암시적 형변환은 컴파일러가 대신 수행하는 형변환이고 명시적 형변환은 반대로 프로그래머가 직접 형변환을 수행하는 것입니다. int i_num = 3.14; // 암시적 double d_num_01 = double(i_...
자료형을 변환할 때, C 언어는 암시적 형변환과 명시적 형변환 2가지가 존재합니다. 간략하게 설명하면 암시적 형변환은 컴파일러가 대신 수행하는 형변환이고 명시적 형변환은 반대로 프로그래머가 직접 형변환을 수행하는 것입니다. int i_num = 3.14; // 암시적 double d_num_01 = double(i_...
이 포스트는 백준 사이트의 치킨 배달 문제 풀이입니다. 문제 첫 번째 시도(실패) 여러 개의 치킨 가게 중 M 개만 선택하였을 때, 도시의 치킨 거리가 최소인 경우를 구해야 합니다. 여기서 M 개의 가게 선택을 위해 조합을 사용하고 조합으로 선택된 가게들에서 집들까지의 최소 거리를 반복해서 갱신해 정답을 구하고자 하였습니다. #inc...
네트워크 통신을 공부하다 보면 자주 나오는 단어 중 하나가 OSI 7 계층 이라는 단어입니다. 이번 포스트에서는 OSI 7 계층이 무엇이고 어떤 역할을 하며 더 나아가 TCP/IP 4계층 모델은 무엇인지 정리해보겠습니다. OSI 란? OSI 7 계층 모델은 국제 표준화 기구(ISO)에서 수립한 통신 모델로 네트워크 통신이 일어나는 과정을 응용, ...
코딩테스트 연습 - 정수 삼각형 문제 바로가기 문제 설명 삼각형의 위쪽 꼭지점에서 아래쪽으로 이동하면서 각 숫자를 합해 가장 큰 숫자를 만드는 문제입니다. 이 문제는 그림을 그렸을 때, 이진 그래프처럼 보이는 문제이지만 그래프를 만들 필요도 없이 메모이제이션 기법으로 간단하게 풀 수 있습니다. 시간 복잡도 실패 처음 문제를 접근할 때...
이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 를 참고해 작성한 포스트입니다. 이전 포스트 에서 다익스트라 최단 경로 알고리즘에 대해서 설명했습니다. 다익스트라 알고리즘은 한 지점에서 다른 지점까지 의 최단 경로를 빠르게 구할 수 있는 알고리즘 이였습니다. 만약 그래프에 존재하는 N 개의 점이 서로의 최단 경로를 모두 알고 싶다면...
이진 트리를 이용한 탐색 이전 포스트에서 이진 트리에 대해 알아보았습니다. 이번 포스트에서는 이진 트리를 활용한 이진 탐색 트리에 대해 알아보겠습니다. 이진 탐색 트리는 다음과 같은 특징이 있습니다. 키 중복 없음 특정 노드의 왼쪽 서브 트리는 특정 노드 보다 작은 키 값만 존재 특정 노드의 오른쪽 서브 트리는 특정 노드 보다 큰 키...
프로그램의 소스 코드는 한 번에 완벽하게 작성할 수 없습니다. 팀 프로젝트에서는 한 팀원이 작성한 코드를 다른 팀원이 읽을 수 있고 개인 프로젝트에서도 기능을 추가하거나 수정하다 보면 이전 코드를 읽을 때가 있습니다. 여기서 이전 코드를 이해하는데 시간이 소모될 수 있고 최악의 경우, 매번 같은 코드 이해하고자 처음부터 다시 읽어야 될 수 있습니다. ...
코딩테스트 연습 - JadenCase 문자열 만들기 바로가기 문제 설명 잘못된 문제 접근 문제를 처음 풀 때, 마지막 제약 조건을 확인하지 못해서 C++ stringstream 을 활용한 풀이로 접근했었습니다. stringstream 은 문자열 속 공백 개수와 상관없이 공백이 존재한다면 그곳을 기준으로 공백이 아닌 부분만 반환하기...
이진 트리의 개념 이진 트리는 최대 차수가 2 인 트리입니다. 즉, 트리에 있는 모든 노드는 자식 노드의 수가 2개 이하로 갖고 있는 경우입니다. 2개 이하라고 한 이유는 트리 모양에 따라 이름이 다르기 때문입니다. 대표적으로 정 이진 트리, 포화 이진 트리, 완전 이진 트리, 균형 이진 트리 등이 있습니다. [모든 노드의 차수가 2인 이진 ...
Enum 이란? C++ 는 정수형, 실수형, 문자형 등 여러 자료형을 지원하고 있지만 사용자에 따라 C++ 에서 지원하지 않는 자료형이 필요할 수 있습니다. 이를 위해서 C++ 에서는 enum 이라는 자료형을 지원합니다. enum 은 enumerate(열거하다) 라는 단어의 약자로 여러 값들을 열거하고 정수형으로 사용할 수 있습니다. 컴파일러는 ...