본문 바로가기
반응형

목록363

C++ 순수 가상 함수란? 추상 클래스란??(pure virtual function, abstract class) 1. 순수 가상 함수란?(pure virtual function) C++에서의 순수 가상 함수란 무엇일까요?? virtual void foo() = 0; 이렇게 생긴 녀석들을 순수 가상함수라고 부릅니다. (pure virtual function) 함수의 정의가 이뤄지지 않고 함수만 선언한 것이지요. 이렇게 선언된 순수 가상 함수가 있다면 이를 추상클래스(abstract class)라고 부릅니다. 또한 이 추상클래스는 객체로 만들지 못하고 상속으로써만 사용됩니다. 그리고 추상클래스를 상속받은 자식 클래스는 무조건 해당 순수 가상 함수를 override 시켜줘야 합니다. 이 추상클래스, 순수 가상 함수가 어떤 이점이 있으며, 어느 상황에 사용하는지 설명함에 앞서 함수 객체의 생성이 안되는지부터 확인해보겠습니.. 2020. 6. 20.
2020-06-19] PUBG인턴(펍지)[클라이언트, 서버] 필기, 코딩테스트 후기 음.... 필기는 전반적인 컴퓨터 이론과 C++코드를 중심으로 문제가 나왔습니다. 22문제에 13문제는 객관식, 주관식이고,9문제는 서술형이었습니다. 60분 시간이 주어지고요. 객관식, 주관식은 3~6문제 정도 틀린 것 같고....서술형은 4개 못썻네요.... 서술형은 시간이 부족해서...서술형 같은 경우에는 모르는건 1개였고애매모호한것도 1개 였습니다.서술형 8, 9번도 풀 수 있는 거였는데,시간이 없어서 8번 풀다가 제출했네요....점수를 매기자면 50~70점 사이가 될 것 같습니다. 코딩테스트는..... 좀 너무 쉬웠습니다....시간은 150분 줍니다. 카카오 난이도를 5로 잡는다면 펍지 난이도는 2정도?? 아무래도 인턴 채용이라 그런지 쉽게 낸 것 같습니다. 다 푸니깐 1시간 20분정도 남길래 코.. 2020. 6. 19.
프로그래머스] C++ 동적계획법(Dynamic Programming) - 정수 삼각형(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/43105 1. 문제 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요.제한사항삼각형의 높이는 1 이상 500 이하입니다.삼각형을 이루고 있는 숫자는 0 이상.. 2020. 6. 17.
프로그래머스] C++ Summer/Winter Coding(~2018) - 숫자 게임(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/12987 1. 문제xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다.먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다.각 사원은 딱 한 번씩 경기를 합니다.각 경기당 A팀에서 한 사원이, B팀에서 한 사원이 나와 서로의 수를 공개합니다. 그때 숫자가 큰 쪽이 승리하게 되고, 승리한 사원이 속한 팀은 승점을 1점 얻게 됩니다.만약 숫자가 같다면 누구도 승점을 얻지 않습니다.전체 사원들은 우선 무작.. 2020. 6. 17.
C++] reinterpret_cast에 대해서... 모든 언어에는 형변환이 있습니다. C++에선 다양한 형번환 객체들을 제공합니다. 1. static_cast = https://hwan-shell.tistory.com/211 2. dynamic_cast = https://hwan-shell.tistory.com/213 3. const_cast = https://hwan-shell.tistory.com/215 4. reinterpret_cast 가 있습니다. 그 중 reinterpret_cast에 대해 알아보도록 하겠습니다. 1. reinterpret_cast란?cast중 가장 쎈놈? 입니다. cast방식은 포인터 -> 포인터, 포인터 -> 일반변수, 일반변수 -> 포인터로주로 포인터 관련된 cast입니다. 단, 자료형 -> 다른 자료형은 안됩니다. rei.. 2020. 6. 17.
백준 2805번] C++ 나무 자르기 해당 문제는 백준 사이트에서 풀 수 있습니다. https://www.acmicpc.net/problem/2805 ※백준 사이트를 풀 때 다른 코딩테스트 사이트와는 다르게 입력과 출력을 해줘야 합니다. 그리고 cout need_treeLen; vectortree; tree.reserve(N + 1); for (int i = 0; i > temp; tree.emplace_back(temp); } sort(tree.rbegin(), tree.rend()); //내림차순 정렬로 최대 값이 앞으로 오게 한다. MAX = tree[0]; printf("%lld\n", binary_search(tree, 0, MAX)); return 0;} 2020. 6. 16.
백준 1463] C++ 1로 만들기 해당 문제는 백준 사이트에서 풀 수 있습니다. https://www.acmicpc.net/problem/1463 ※백준 사이트를 풀 때 다른 코딩테스트 사이트와는 다르게 입력과 출력을 해줘야 합니다. 그리고 cout 0 && !check[n - 1]) q.emplace(n - 1, num + 1); check[n] = true; return dfs(q);}int main() { int n; cin >> n; q.emplace(n, 0); printf("%d ", dfs(q)); return 0;} 2020. 6. 16.
2020-06-15 현황 보고... 현재 C++ cast관련 글들을 거의다 작성해 갑니다. 그 후 싱글톤, 논블로킹, task 클래스, iocp, condition_variable, bind를 봐야합니다.... 그 후 카사블랑카 프로젝트를 진행할 수 있겠네요.... 코테도 준비해야 해서 하루 1문제를 풀고 있는데.... 그래프 문제가 상당히 약해 이것 또한 심도있게 풀어봐야 합니다..... 위에껄 다하면 운영체제 공부하면서 백엔드 공부까지....(DB, kotlin, C#, python) 게임쪽으로도 가고싶어 DirectX와 Unreal엔진 공부도 하고싶은데 될지 모르겠네요.... 2020. 6. 15.
C++] const_cast에 대해서... 모든 언어에는 형변환이 있습니다. C++에선 다양한 형번환 객체들을 제공합니다. 1. static_cast = https://hwan-shell.tistory.com/211 2. dynamic_cast = https://hwan-shell.tistory.com/213 3. const_cast 4. reinterpret_cast = https://hwan-shell.tistory.com/219 가 있습니다. 그 중 const_cast에 대해 알아보도록 하겠습니다. 1. const_cast란??이름만 보면 const를 cast해 const변수를 바꾸는 그런역할을 할 것 같이 생긴 녀석입니다.맞으면서도 다릅니다. const_cast를 할 수 있는 조건이 있습니다. 1. const로 선언된 포인터만 const를.. 2020. 6. 15.
프로그래머스] C++ 동적계획법(Dynamic Programming) - 타일 장식물(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/43104 1. 문제대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개의 나선 모양처럼 점점 큰 타일을 붙인 형태였다. 타일 장식물의 일부를 그리면 다음과 같다. 그림에서 타일에 적힌 수는 각 타일의 한 변의 길이를 나타낸다. 타일 장식물을 구성하는 정사각형 타일 한 변의 길이를 안쪽 타일부터 시작하여 차례로 적으면 다음과 같다. [1, 1, 2, 3, 5, 8, .] 지수는 문득 이러.. 2020. 6. 15.
C++] dynamic_cast에 대해서... 모든 언어에는 형변환이 있습니다. C++에선 다양한 형번환 객체들을 제공합니다. 1. static_cast = https://hwan-shell.tistory.com/211 2. dynamic_cast 3. const_cast = https://hwan-shell.tistory.com/215 4. reinterpret_cast = https://hwan-shell.tistory.com/219 가 있습니다. 그 중 dynamic_cast에 대해 알아보도록 하겠습니다. 1. dynamic_cast란?class의 상속관계에서의 형변환을 프로그래머가 올바르게 하도록 도와주는 긴능을 제공하는 녀석입니다.dynamic_cast는 RTTI(Run Time Type Information)을 지원합니다.RTTI는 런타임.. 2020. 6. 14.
프로그래머스] C++ 연습문제 - 줄 서는 방법(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/12936# 1.문제n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람이 있다면 다음과 같이 6개의 방법이 있습니다.[1, 2, 3][1, 3, 2][2, 1, 3][2, 3, 1][3, 1, 2][3, 2, 1]사람의 수 n과, 자연수 k가 주어질 때, 사람을 나열 하는 방법을 사전 순으로 나열 했을 때, k번째 방법을 return하는 solution 함수를 완성해주세요.제한사.. 2020. 6. 14.
C++] static_cast란?? 모든 언어에는 형변환이 있습니다. C++에선 다양한 형번환 객체들을 제공합니다. 1. static_cast 2. dynamic_cast = https://hwan-shell.tistory.com/213 3. const_cast = https://hwan-shell.tistory.com/215 4. reinterpret_cast = https://hwan-shell.tistory.com/219 가 있습니다. 그 중 static_cast에 대해 알아보도록 하겠습니다. 1. static_cast란?C++에서 제공하는 기능중 하나로 프로그래머가 형변환을 할 때 오류를 체크해 줍니다. 이 오류는 코드상에서 체크해줍니다. 마치 없는 변수나 함수를 사용자가 사용할 때 처럼 말이죠. 그럼 예시를 보겠습니다. 1) 일반.. 2020. 6. 14.
프로그래머스] C++ 연습문제 - 가장 긴 팰린드롬(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/12904?language=cpp 1. 문제앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 abcdcba이면 7을 return하고 abacde이면 3을 return합니다.제한사항문자열 s의 길이 : 2,500 이하의 자연수문자열 s는 알파벳 소문자로만 구성입출력 예sanswerabcdcba7abacde3입출력 예 설명입출력 .. 2020. 6. 14.
C++] Visual studio에서 C++ 버전 변경과 사용방법.(C++14, 17, 20) Visual studio를 사용하면서 새로 정의된 class를 사용하고 싶을 때 지원하는 C++버전이 맞지 않아서 호출되지 않는 경우가 있습니다. 그럼 Visual studio에서 버전을 확인하는 방법과 C++을 버전별로 사용하는 방법을 알아보도록 합시다. 1. 도움말 -> Microsoft Visual Studio 정보(A) 2. C++ 버전 변경방법. 1. 프로젝트 -> 속성 -> C/C++ -> 모든 옵션 -> C++ 언어 표준 2. 여기서 원하시는 버전을 선택하면됩니다.마지막에 있는 /std c++ latest는 C++의 마지막 버전이 입력됩니다. 즉, 가장 최신버전입니다. C++ 버전 고정하는 방법. 추가 옵션 글상자에 명령어를 입력해주면 됩니다. /std:c++14/std:c++17/std:c.. 2020. 6. 13.
728x90
반응형

스킨편집 -> html 편집에서