[프로그래머스] JadenCase 문자열 만들기
코딩테스트 연습 - JadenCase 문자열 만들기 바로가기 문제 설명 잘못된 문제 접근 문제를 처음 풀 때, 마지막 제약 조건을 확인하지 못해서 C++ stringstream 을 활용한 풀이로 접근했었습니다. stringstream 은 문자열 속 공백 개수와 상관없이 공백이 존재한다면 그곳을 기준으로 공백이 아닌 부분만 반환하기...
코딩테스트 연습 - JadenCase 문자열 만들기 바로가기 문제 설명 잘못된 문제 접근 문제를 처음 풀 때, 마지막 제약 조건을 확인하지 못해서 C++ stringstream 을 활용한 풀이로 접근했었습니다. stringstream 은 문자열 속 공백 개수와 상관없이 공백이 존재한다면 그곳을 기준으로 공백이 아닌 부분만 반환하기...
이진 트리의 개념 이진 트리는 최대 차수가 2 인 트리입니다. 즉, 트리에 있는 모든 노드는 자식 노드의 수가 2개 이하로 갖고 있는 경우입니다. 2개 이하라고 한 이유는 트리 모양에 따라 이름이 다르기 때문입니다. 대표적으로 정 이진 트리, 포화 이진 트리, 완전 이진 트리, 균형 이진 트리 등이 있습니다. [모든 노드의 차수가 2인 이진 ...
Enum 이란? C++ 는 정수형, 실수형, 문자형 등 여러 자료형을 지원하고 있지만 사용자에 따라 C++ 에서 지원하지 않는 자료형이 필요할 수 있습니다. 이를 위해서 C++ 에서는 enum 이라는 자료형을 지원합니다. enum 은 enumerate(열거하다) 라는 단어의 약자로 여러 값들을 열거하고 정수형으로 사용할 수 있습니다. 컴파일러는 ...
트리의 개념 트리는 주요 자료구조 중 하나로 노드(Node)와 간선(Edge)들이 연결된 계층적 자료구조 입니다. 트리는 다양한 응용 분야에서 활용되며 특히, 계층적으로 데이터를 다루거나 데이터를 효율적으로 검색, 삽입, 삭제하는 작업에서 자주 사용됩니다. 단어 정리 기본 용어 설명 ...
이 포스트는 백준 사이트의 패션왕 신해빈 문제 풀이입니다. 문제 제약 확인 문제의 입력 조선에서 “같은 종류의 의상은 하나만 입을 수 있다.” 라고 하였으므로 옷의 각 종류에서 선택되는 것은 1개 입니다. 풀이 이 문제는 해시맵을 사용하여 간단하게 풀 수 있는 문제입니다. 예시 문제를 통해 수식을 만들고 코드를 작성해 보겠습니다. ...
서로소 집합을 찾기 서로 중복되지 않는 부분 집합들을 구현할 때, 사용되는 것이 Union-Find 알고리즘입니다. 예를들어, 여러 사람의 관계가 그래프의 노드(사람)과 엣지(관계)로 표현될 때 관계 그래프의 총 개수를 확인할 수 있습니다. 이때, 반드시 확인해야 할 것은 두 집합이 반드시 상호 배타적인 부분 집합(서로소 집합) 이여야 한다는 점입니...
이 포스트는 개인적으로 C++ 스마트 포인터를 공부하며 기록한 내용으로 이후 변경될 수 있습니다. 메모리 낭비하기 C++ 는 new 연산자로 메모리에 동적으로 할당하고 사용이 끝나면 delete 연산자로 사용중인 메모리를 해제합니다. 그러나 코드가 복잡해지면 delete 를 너무 일찍 사용해서 이미 해제된 메모리에 접근하거나, delete 자체...
이 포스트는 TDD 를 공부하기 위해 작성된 글로 잘못된 내용이 있으면 댓글 부탁드립니다. TDD 개념 잡기 TDD 는 Test Driven Development 의 약자로 테스트 주도 개발 이라고 합니다. 반복적으로 테스트를 진행해서 프로그램을 완성하는 소프트웨어 개발 방법론 중 하나로 작은 단위 테스트들을 작성해 이를 통과한 코드만 추가하는 ...
이 포스트는 백준 사이트의 일곱 난쟁이 문제 풀이입니다. 문제 문제의 설명처럼 9명 중 7명을 선택하되 그 합이 100 이 되는 것을 출력해야 합니다. 따라서 9명 중 7명을 선택하는 모든 조합을 찾고 만약 7명의 합이 100이 될 경우, 즉시 값을 출력합니다. vector<int> height; void input_hei...
C 언어는 데이터 원본에 접근하기 위해 포인터 를 사용합니다. 그러나 포인터는 몇 가지 위험성을 가지고 있기 때문에 이 위험성을 줄이고자 C++ 에서는 참조 를 사용합니다. 먼저 포인터의 위험성을 확인한 뒤 C++ 참조 연산자와 무엇이 다른지 확인해보겠습니다. 포인터 개념 짚고 가기 포인터는 메모리 주소 값 을 저장하는 변수입니다. 어떤 ...