일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- knapsack Problem
- Project
- Zenject
- 8-Puzzle
- level3
- stack
- level1
- C++11
- Unity
- smart pointer
- algorithm
- Silver
- effective C++
- programmers
- 프로그래머스
- binary search
- BOJ
- trie
- LEVEL2
- Gold
- BFS
- Bronze
- Greedy
- two pointer
- Modern C++
- algoritm
- SWEA
- 3D RPG
- Euclidean
- PrefixSum
- Today
- Total
목록전체 글 (154)
Patrick's Devlog
1. 문제 개요 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 1-1. 설명 선행 스킬은 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻한다. 예를 들면 선행 스킬 순서가 스파크 -> 라이트닝 볼트 -> 썬더 일 때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 한다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리를 담은 배열 skill_trees가 매개 변수로 주어질 때, 가능한 스킬 트리의 개수를 return 하는 solution 함수를 작성한다. 1-2. 제한 사항 - 스킬은 알파벳 대문자로 표기, 모든 문자열은 대문자로만..
1. 문제 개요 https://www.acmicpc.net/problem/16171 16171번: 나는 친구가 적다 (Small) 첫 번째 줄에는 알파벳 소문자, 대문자, 숫자로 이루어진 문자열 S가 주어진다. (1 ≤ |S| ≤ 100) 두 번째 줄에는 성민이가 찾고자 하는 알파벳 소문자, 대문자로만 이루어진 키워드 문자열 K가 주 www.acmicpc.net 1-1. 설명 성민이가 듣는 과목의 교과서에는 알파벳 소문자와 대문자로만 이루어져 있다. 성민이가 교과서에서 찾고자하는 키워드 또한 알파벳 소문자와 대문자로만 이루어져 있다. 하지만, 결석한 날 수업 내용을 친구에게 빌려 필기를 하던 중 교과서에 숫자를 적어버린 것이다. 교과서에서 성민이가 찾고자하는 키워드의 존재 여부를 알려주자. 1-2. 제한..
Item 5 : C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 C++에서 복사 생성자(copy constructor), 복사 대입 연산자(copy assignment operator), 소멸자(destructor)를 클래스 안에 직접 선언해 넣지 않으면 컴파일러가 저절로 선언해주도록 되어있다. 이때 컴파일러가 만드는 함수의 형태는 기본형이며 생성자조차 선언되어 있지 않으면 컴파일러가 선언해놓는다. 모두 public 멤버이며, inline 함수이다. class Empty{}; 위와같이 썼다면 다음과 같이 쓴것과 근본적으로 대동소이하다는 의미다. class Empty { public: Empty() { ... } // 기본생성자 Empty(const Empty& rhs) { ... } // ..
모든 C++ 표현에는 형식이 존재하며 value 범주에 속한다. value 범주는 표현 평가 중 임시 개체를 생성, 복사, 이동할 때 컴파일러가 따라야하는 규칙의 기초이다. C++17표준은 다음과 같이 식 값의 범주를 정의한다. 1. glvalue는 평가(evaluation)에서 개체, 비트필드 또는 함수의 ID(동일성)를 결정하는 표현 2. prvalue는 평가에서 객체나 비트 필드를 초기화하거나 표시되는 컨텍스트에 지정된대로 연산자의 피연산자 값을 계산하는 표현식 3. xvalue는 리소스를 재사용할 수 있는 개체 또는 비트 필드를 나타내는 glvalue 4. lvalue는 xvalue가 아닌 glvalue 5. rvalue는 prvalue 또는 xvalue lvalue에는 프로그램에서 액세스할 수 ..
1. 문제 개요 https://www.acmicpc.net/problem/1977 1977번: 완전제곱수 M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완 www.acmicpc.net 1-1. 설명 M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오. 1-2. 제한 사항 - 첫째줄에 M, 둘째 줄에 N이 주어짐 - M과 N은 10000이하의 자연수이며 M은 N보다 작거나 같음 - 만약 완전제곱수가 없을경우 첫째줄에 -1을 출력 2. 구현 2-1. 풀이 단순하게 N과 ..
개요 급히 Modern C++에 대해 공부해야할 일이 생겨 간단하게 인터넷을 통해서 숙지하고자 게시글을 정리한다. 자료는 TCP School에서 참고하여 정리하였으며, 좀 더 자세한 내용을 확인하고 싶으면 아래 참고 자료 링크에 들어가면 된다. 스마트 포인터? C++에서 new 키워드를 사용해 동적으로 할당받은 메모리는 반드시 delete를 사용해 해제해야 한다. C++에서는 메모리 누수로부터 프로그램 안전성을 보장하기 위해 스마트포인터를 제공한다. 스마트 포인터는 포인터처럼 동작하는 클래스 템플릿으로, 사용이 끝난 메모리를 자동으로 해제해준다. ◆ 동작 보통 new 키워드를 이용해 원시 포인터가 실제 메모리를 가리키도록 초기화한 후 원시 포인터를 스마트 포인터에 대입하여 사용한다. 정의된 스마트 포인터..
1. 문제 개요 https://www.acmicpc.net/problem/14582 14582번: 오늘도 졌다 첫 번째 줄에는 9개의 정수가 주어지는데, 오늘 경기에서 울림 제미니스가 1회 초, 2회 초, ..., 9회 초에 낸 득점이 주어진다. 두 번째 줄에도 9개의 정수가 주어지는데, 스타트링크 걸리버스가 1회 www.acmicpc.net 1-1. 설명 프로야구팀 울림 제미니스는 오늘도 졌다. 이에 열혈한 팬인 지수는 역전패를 했는지 구하고 싶어 이를 구하는 프로그램을 개발한다. 1-2. 제한 사항 - 첫 줄에는 9개의 정수가 주어지는데, 울림 제미니스가 1회 초, 2회초, ... ,9회 초에 낸 득점이 주어짐 - 두번째 줄에도 9개의 정수가 주어지는데, 울림의 상대팀인 스타트링크 걸리버스가 1회 초..
개요 시간이 지남에 따라 Modern C++가 발전하고 있는 상태이다. 내가 제대로 배운 언어는 일반 C++였으며, 조금 더 C++에 대해 깊게 공부하기 위해 간략하게 준비를 하고자 한다. 본 게시글은 계속해서 정리하는 글이 아닌, 개요만 살짝 맛보는 시간이다. Modern C++의 자세한 공부는 Effective C++의 공부가 끝나는대로 바로 진행할 예정이다. C++는 다른 언어보다 유연성이 높다. 높은 추상화(abstract)는 물론 회로 설계에도 사용가능하다. C++는 최적화된 표쥰 라이브러리를 제공한다. 이를 통해 낮은 하드웨어 기능에 액세스해 속도를 최대한으로 높이고 메모리 요구 사항을 최소화할 수 있다. 이처럼 C++은 다른 언어에 비해 메모리 접근성에 대해도 좋으며, 그만큼 좋은 성능 대비..