#INFO 난이도 : GOLD5 알고리즘 유형 : STACK 출처 : 6198번: 옥상 정원 꾸미기 (acmicpc.net) 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net #SOLVE Monotone Stack 개념을 이용하면 쉽게 문제를 풀이할 수 있습니다. Monotone Stack 이란, 뜻 그대로 Monotone(단조로운) Stack(스택) 이라는 의미로 스택을 오름차 혹은 내림차 순으로 유지시키는 방식의 스택입니다. 문제에 Monotone Stack 을 적용시켜 항상 스택을 내림차 순으로 유..
... 이전 포스팅 [C++] #1 클래스 (Class) 에서 은닉성(정보은닉)을 위해 접근 제어 지시자를 멤버변수는 private로 멤버함수는 public으로 설정한다고 공부했다. 이번 포스팅 에서는 getter setter 함수를 이용해 private로 설정한 멤버 변수에 접근하는 방법에 대해 정리 하고자 한다. *개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. # getter setter 함수 앞에서도 이야기 했듯이, 보통 클래스의 멤버변수는 private로 멤버함수는 public으로 설정한다. class Player { private: string m_name; int m_level; int m_hp; int m_mp; int m_atk; publ..
클래스란 객체지향 프로그래밍(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, ..