Home
My Technical Diary
Cancel

LeetCode - 383. Ransom Note

383. Ransom Note - easy 문제 Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be c...

LeetCode - 771. Jewels and Stones

771. Jewels and Stones - easy 문제 You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have...

Effective C++ - Item.6

컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금하자 내용 private 멤버로 선언 하기 기본적으로 컴파일러가 생성하는 함수는 모두 공개가 되는 public 멤버가 된다. 이러한 컴파일러가 생성하는 함수가 저절로 만들어지는 것을 막기위해 프로그래머가 직접 선언해야 한다는 점은 맞지만, 이들을 public 멤버로 선언해야 한다는...

LeetCode - 278. First Bad Version

278. First Bad Version - easy 문제 You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Sinc...

Effective C++ - Item.5

C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 내용 컴파일러가 저절로 선언해주는 멤버 함수 C++의 어떤 멤버 함수는 클래스 안에 직접 선언해 주지 않으면 컴파일러가 저절로 선언해 주도록 되어 있다. 바로 복사 생성자(Copy Constructor), 복사 대입 생성자(Copy Assignment Operator), 소멸자(D...

LeetCode - 849. Maximize Distance to Closest Person

849. Maximize Distance to Closest Person - easy 문제 In a row of seats, 1 represents a person sitting in that seat, and 0 represents that the seat is empty. There is at least one empty seat, and...

Effective C++ - Item.4

객체를 사용하기 전에 반드시 그 객체를 초기화하자 내용 객체의 초기화 초기화되지 않은 값을 읽도록 내버려 두면 정의되지 않은 동작이 그대로 흘러 나오게 된다. 일반적인 경우에 적당히 무작위 비트의 값을 읽고 객체의 내부가 이상한 값을 가지게 된다. C++에서 객체의 초기화 보장 유무 C++의 객체(변수) 초기화가 중구난방인 것은 절대 아니...

Effective C++ - Item.3

낌새만 보이면 const를 들이대 보자! 내용 Const 키워드 const의 가장 눈에 띄는 특징이라면, const가 붙은 객체는 외부 변경을 불가능 하게 한다라는 ‘의미적인 제약’을 소스코드 수준에서 행해진다는 점과 컴파일러가 이 제약을 단단히 지켜준다는 점이다. const 키워드는 클래스 바깥에서 전역 혹은 네임스페이스 유효범위의 상수를...

Design Patterns - Visitor

Behavioral Patterns - Visitor Intent 객체의 구조와 기능을 분리시킨다. 구조는 변하지 않으며 기능만 따로 추거되거나 확장될 경우 사용할 수 있는 패턴이다. 객체 구조를 이루는 원소에 대해 수행할 연산을 표현한다. 연산을 적용할 원소의 클래스를 변경하지 않고도 새로운 연산을 정의할 수 있게 한다. Utility...

Design Patterns - Template Method

Behavioral Patterns - Template Method Intent 객체의 연산에는 알고리즘의 뼈대만을 정의하고 각 단계에서 수행할 구체적 처리는 서브클래스 쪽으로 미룬다. 알고리즘의 구조자페는 그대로 놔둔채 알고리즘 각 단계 처리를 서브클래스에서 재정의할 수 있게 한다. Utility 어떤 한 알고리즘을 이루는 부분...