전체 글45 [C++ STL] Pair를 사용해보자 ( 구조체 안쓰고 두 자료형을 묶어보자! ) Pair(페어) 란? 간단히 말해 두 자료형을 묶어주는 클래스이다. 언제 USE? 보통 두개 이상의 자료형을 묶을 때 구조체를 사용하는 데 , 묶을 자료형이 많이 없을 때 간단하게 pair로 묶어주면 편해 사용한다. 예시 예를 들어 이름에다가 번호를 붙여준다고 가정해보자. 1번은 Kames 2번은 James 3번은 Bames 위 이름을 알파벳으로 정렬한다고 생각해보자. 정렬이 되면 Bames, James, Kames 순으로 될 것이다. 여기서 문제는 정렬이 되면 정렬하기 전 해당 번호를 못 찾게 된다는 것이다. 이때 Pair를 쓰는 것이다. 처음에 이름을 받을 때 이름과 번호를 pair로 묶어주면 그 후 알파벳으로 정렬 하게돼도 그 전 번호를 찾을 수 있을 것이다. HOW? 헤더파일 : utility.h.. 2020. 3. 24. [백준 1931] 회의실배정 https://acmicpc.net/problem/1931 해설 이 문제는 그리디 알고리즘을 생각해봐야 한다. 문제 푼 방법 i) 끝나는 시간을 기준으로 정렬한다. ii) 0번째 배열의 끝나는 시간을 finish에 저장한다. iii) 1번 배열부터 for문을 돌려 finish 가 i의 시작하는 시간보다 작거나 같으면 cnt를 1 증가 시켜주고, finish에 i의 끝나는 시간을 저장해준다. 마지막에 cnt 를 출력해주면 된다. ˙˙˙ 소스코드 #include #include #include using namespace std; int main(){ vectorvp; int n; cin >> n; for(int i=0; i> a >> b; vp.push_back({b,a}); } sort(vp.begin(.. 2020. 3. 23. [백준 11047] 동전 0 https://acmicpc.net/problem/11047 해설 이 문제는 https://far-simple.tistory.com/20 거스름 돈 문제와 매우 유사했다. 입력 되는 각각의 동전들을 내림차순으로 정렬해서 경우들을 따져주면 된다. 1) 큰 돈의 수부터 차례대로 가지고 있는 동전과 나누어보고 그 나눈 값을 카운트 해준다. 2) 가지고 있는 돈에서 각각의 동전에서 쓸 수있는 돈을 빼준다. 3) 돈이 0이 되면 카운트를 출력해주고 for문에서 탈출한다. 아마 위 설명만 보고는 이해가 안될 가능성이 높다. 이해하기 쉽게 코드를 길게 써놨으니 이해가 잘 안된다면 보는 것을 추천한다. ˙˙˙ 소스코드 #include #include #include using namespace std; int cnt;.. 2020. 3. 23. [백준 5585] 거스름돈 https://www.acmicpc.net/problem/5585 해설 그냥 다 탐색해보면 된다. 500엔을 사용하는 경우 100엔을 사용하는 경우 50엔을 사용하는 경우 10엔을 사용하는 경우 5엔을 사용하는 경우 1엔을 사용하는 경우 각 경우의 돈을 얼마나 쓸 수있는지 카운트 해주고, 거스름돈에서 쓸 수있는 돈을 계속 빼주면 된다. 결국 마지막에는 0원이 될테니 그때 카운트를 출력하고 for문을 탈출해주면 된다. ˙˙˙ 소스코드 #include using namespace std; int mo[6] = {500, 100, 50, 10, 5, 1}; int cnt; int main(){ int m; cin >> m; m= 1000-m; for(int i=0; i 2020. 3. 23. 이전 1 ··· 4 5 6 7 8 9 10 ··· 12 다음