안녕하세요. 오늘은 알아두면 유용한 C++의 Pair 클래스를 소개해겠습니다. 1. pair 클래스 Pair 클래스는 사용자가 지정한 2개의 타입의 데이터를 저장하는데 사용합니다. 서로 연관된 2개의 데이터를 한 쌍으로 묶어서 다룰 때 사용하면 편리합니다. 제가 Pair 클래스를 알기 전에는 서로 연관된 2개의 데이터를 다룰 때, 구조체를 따로 정의했었습니다. 여간 번거로운게 아니었습니다. 그러나!!! Pair 클래스를 이용함으로써 서로 다른 2개의 연관된 2개의 데이터를 편리하게 관리할 수 있게 되었습니다. 2. pair의 헤더파일 pair 클래스는 #include 라는 헤더파일에 존재하는 STL입니다. #include // pair의 헤더파일 그러나, 저는 pair를 사용할 때, #include 를 ..
프로그래밍
일반적으로 사람들은 윈도우 시스템에 익숙합니다. 그러나 개발자의 측면에서 본다면, 많은 프로그램들이 리눅스 환경에서 만들어지고 있고, 특히 시스템 소프트웨어는 많은 경우 리눅스 기반으로 작성되어 있습니다. 그러므로 컴퓨터 개발 관련 공부를 한다면, 어떤 분야인지에 따라 다르겠지만 리눅스 환경에 익숙할 필요가 있습니다. 이미 윈도우 운영체제가 설치되어 있는 상태에서 공부를 위해서 기존의 운영체제를 지우고 리눅스를 설치하는 것은 번거롭기 때문에, 보통은 가상 머신을 이용해서 리눅스 환경을 구축하고는 합니다. 이 글에서는 가상 머신을 이용하는 방법이 아닌, 좀 더 간편한 방법으로 윈도우에서 리눅스 환경을 구성하는 것에 대해서 설명하겠습니다. 리눅스에는 여러가지 배포판이 있지만, 여기에서는 우분투를 이용하겠습니..
문제 링크 : www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 관련 알고리즘 : 그리디 알고리즘(탐욕 알고리즘), 동적 계획법 아이디어) 2가지 방법으로 풀어봤다. 그리디) 처음 설탕을 가져갈 때 5kg짜리로 최대한 많이 담고, 남은 설탕을 3kg으로 가져감. 만약 5kg으로 최대한 담고 3kg으로 나머지를 담는데, 나눠떨어지지 않으면 5kg를 하나 빼고 다시 3kg을 담음. 5kg를 다 뺐지만, 3kg만으로 설탕이 나눠지지 않으면, -1을 출력. 동적 계획법)cach..
Stack(스택) 자료구조 구현언어 : C/C++ 사용한 IDE : 비주얼 스튜디오 스택은 먼저들어온 데이터가 가장 나중에 나가는 형태의 자료구조입니다. 반대로 말하면 가장 나중에 들어온 데이터가 가장 처음으로 나가게 됩니다. 이러한 자료구조를 LIFO(Last in first out)라고도 말합니다. 스택 형태 상상해보기 스택은 한쪽이 막혀있는 통의 형태입니다. 통속에 무언가를 넣었을 때 한쪽이 막혀있기 때문에, 처음에 넣은 것을 빼려면 위에 쌓여 있는 다른 것들을 다 빼야 합니다. 아래는 예시 그림입니다. 예를 들어서 위의 그림처럼 한쪽이 막혀있는 통에 숫자가 적혀있는 네모를 1->2->3 순서대로 넣었을 때, 통속에 있는 상자를 다시 빼려면 3->2->1 순으로 나오게 됩니다. 용어 설명 스택의 A..
문제설명 출처 : www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 평균을 넘는 학생 수 의 비율을 출력하는 문제. 문제풀이 아이디어 그냥 문제의 흐름대로 단순하게 계산. 배열의 길이를 동적으로 할당. 코드 #include #include using namespace std; int main() { int testCase; double average=0; int count = 0; //평균을 넘는 학생 수 cin >> testCase; for (int i = 0; i > N; int..