#문제정보 출처 : www.acmicpc.net/problem/1783 #문제분석 사용된 알고리즘 : 그리디(GREEDY) 다음 문제는 세로가 1 , 2 혹은 3 이상인 케이스로 나누어 생각해야 한다. CASE 1 : 세로가 1인 경우 문제에서 제시한 1,2,3,4 이동방식 모두 사용 불가능하다. 따라서, 어느 방향으로도 이동이 불가능하므로 1칸이다. (병든 나이트가 처음에 위치한 영역도 여행한 것으로 취급한다.) CASE 2 : 세로가 2인 경우 2,3 이동방식을 통해 여행이 가능하기에, (M-1)/2 + 1(처음 나이트 위치) 만큼 이동이 가능하다.단, 문제 조건 "이동 횟수가 4번 이상인 경우에는 모든 이동 방법을 각각 한 번 이상 이용해야 한다." 를 지켜야 하기에, 최대 이동 횟수는 3 + 1 ..
#문제정보 출처 : www.acmicpc.net/problem/11501 #문제분석 사용된 알고리즘 : 그리디(GREEDY) stock(주식을 저장하는 벡터)를 뒤에서 부터 차례로 검사하여, 최댓값을 갱신하며 차이 만큼 빼주어 결과값에 더하는 그리디 방식으로 풀이했다. [1 1 3 1 2] 를 예시로 설명하도록 하겠다. 1번째 비교 5번째 인덱스 [2] 와 mx [-1] (mx는 미리 -1로 초기화 해둔다.) 을 비교한다.2 > -1 이므로 mx의 값을 2로 변경한다.mx = 2 , result = 0 2번째 비교 4번째 인덱스 [1] 과 mx[2]를 비교한다. 1 < mx[2] 이므로, mx[2]와 1의 차이인 1만큼을 result 변수에 더해준다. mx = 2 , result = 1 3번째 비교 3번..
#1 Pair 정의 & 사용방법 #2 Pair 멤버함수 - p.first - p.second - make_pair(v1,v2) #3 Pair 사용예제 - Pair & vector - Pair & typedef - Pair & sort (first 기준 정렬, second 기준 정렬) 다음 글은 개인적인 공부내용을 정리하기 위해 작성된 것으로 잘못된 내용이 있을 수 있습니다. :) 추가하거나 잘못된 내용이 있다면 지속적으로 수정해 나갈 예정입니다. 벡터 컨테이너에 대한 이해가 부족하시다면 다음 포스팅을 읽고 와주세요. VECTOR #1 Pair 정의 & 사용방법 ■ Pair 정의 Pair는 두개의 객체(first, second)를 하나로 묶어주는 역할을 하는 struct로 데이터의 쌍을 표현할 때 사용한다..