클래스란 객체지향 프로그래밍(OPP)에서 객체를 생성하기 위한 멤버변수(상태)와 멤버함수(행동)을 정의하는 틀과 같은 역할을 수행한다. 객체지향 프로그래밍은 모든 데이터를 객체로 취급하며, 이러한 객체들의 조합으로 코드를 작성하는 프로그래밍 기법이다. 클래스는 C언어의 구조체(Struct)와 상당히 유사한데 차이점은 접근제어 지시자(access specifier)가 추가되었다는 점과, 멤버함수(행동)을 포함할 수 있다는 것이다. 이번 포스팅에서는 C++에서 새롭게 추가된 클래스라는 문법과 접근 제어 지시자에 대해 간략하게 정리해 보고자 한다. * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. #1 클래스 _ class #2 접근 제어 지시자 _ acce..
#INFO 난이도 : SILVER1 알고리즘 유형 : DP https://www.acmicpc.net/problem/12852 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net #SOLVE DynamicProgramming 방식을 이용해 문제를 풀이했습니다. dp[i] = i 를 1로 만드는 연산의 최솟값 before[i] = 연산 (1 or 2 or 3) 을 수행하기 직전의 i 값 . ex) before[10] = 9 before 배열은 N을 1로 만드는 방법에 포함되어 있는 수를 출력하기 위해 정의했습니다. 1. X가 3으로 나누어 떨어지면 3으로 나눈다. before[i] = i - 1; if (i % 3 == ..
#INFO 난이도 : GOLD5 출처 : 2170번: 선 긋기 (acmicpc.net) 2170번: 선 긋기 첫째 줄에 선을 그은 횟수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y(-1,000,000,000 ≤ x > n; vector line; for (int i = 0 ; i > start >> end; line.push_back(make_pair(start, ..
#INFO 난이도 : SILVER4 알고리즘 유형 : STACK 출처 : 3986번: 좋은 단어 (acmicpc.net) 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net #SOLVE 스택 자료구조를 이용하면 간단하게 풀이 가능한 문제이다. 스택에 문자를 순차적으로 PUSH 하면서 겹치는 알파벳이 있으면 스택에서 POP 하면 된다. ABBA 같은 '좋은 단어'는 스택이 모두 비어질 것이고, ABAB 같은 '나쁜 단어'는 스택에 문자가 남아 있을 것이다. #CODE #include #include #include using..
* 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. * 다음 포스팅은 총 3편으로 나누어 정리할 예정입니다. VOL1 함수 포인터 (Function Pointer) 개요 #1 함수 포인터란? #2 함수 포인터 사용법 #1 함수 포인터란? 포인터 문법을 이용하면 변수의 주소를 저장할 수 있습니다. 예를들어 아래와 같이 코드를 작성하면 int형 변수 val의 주소가 ptr에 저장됩니다. int val = 10; int *ptr = &val; cout