AngelPlayer`s Diary

링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LrsUaDxcDFAXc 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

문제 해석

N = 물건 매매가 (2 <= N <= 1,000,000)

하루에 한 번 물건을 구매할 수 있음

output = 물건을 매매해서 얻을 수 있는 가장 큰 값

 

 

코드

 

 

 

코드 해석

물건을 최대값을 구할 수 있는 방법은 최대값을 찾아 앞에서부터 비교하는 방법과,

가장 뒤에 위치한 값을 최대 값으로 지정하고 비교를 하면서 연산을 수행하는 방법이 있다.

 

앞에서부터 비교를 진행하면 최대값을 일일히 찾아아하기 때문에 시간 복잡도가 높아지므로, 뒤에서부터 가격을 찾아내려가면 해결할 수 있다. 

 

 

 

발생한 문제 & 해결 방안

앞서 코딩을 진행할 때 앞에서부터 max()를 통해 최대 가격을 찾은 후, 연산을 수행, 최대값과 만나면 다시 새로운 최대 값을 찾은 후 연산하는 방식으로 작성하였다.

결국 리스트를 최대 값을 찾기 위해서, 그리고 연산을 위해서 확인하였기 때문에 시간 복잡도가 증가하였고, 런타임 에러가 발생하였다.

 

 

 

 

 

 

 

해당 코드는 에디터가 코드 연습을 위해 직접 작성하였습니다.

혹시 오류가 있거나 더 좋은 코드 방향성을 아시는 분은 댓글로 남겨주시면 감사하겠습니다!

source : https://github.com/ssh5212/conding-test-practice

공유하기

facebook twitter kakaoTalk kakaostory naver band