출처 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo "시뮬레이션" 단순 시뮬레이션 문제로써 각 지점에서 최대 배터리 충전 용량을 구하는 것이다. 여기서 중요한 것은 움직이는 매 순간마다 사용자 A와 B가 어떤 BC를 선택해야 배터리 충전 용량이 최대가 되는지를 판별하는 것이다. path[2][A] 배열을 만들어서 매 시간마다 사용자 A 와 B 가 접근할 수 있는 모든 BC를 체크 한 후, getMax 라는 함수를 통해 A와 B가 선택 가능한 BC의 모든 조합을 조사해 그중에서 최대 배터리 충전량을 구하는 식으로 문제를 해결했다. 삼성 역량 테스트 문제의 시뮬레이션이 점점 복잡해지는..
SWEA 1859. 백만 장자 프로젝트 (https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LrsUaDxcDFAXc) "완전 탐색할 건 아니야, 뭔가 아이디어를 찾자." 해당 문제에서 N이 1,000,000 까지가 있고, 각 지점에서 할 수 있는 행동은 산다/판다/아무것도 안한다. 의 세가지로 나뉜다. 따라서 대략적인 시간복잡도를 계산해 보면 3^1,000,000 이 되고, 완전 탐색으로는 시간 내에 풀 수 없다. 따라서 다른 아이디어를 찾아야 했다. 주식 그래프를 생각해보자. 언제 파는 것이 이익이 최대가 될까? 당연히 고점 보다 낮게 사서 고점에 파는것이 좋다. 고점을 그래프의 가장 끝점으로 우선 잡는다. 내..
- Total
- Today
- Yesterday