인프런 커뮤니티 질문&답변

wndud님의 프로필 이미지
wndud

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

4. 최대 부분 증가수열(LIS : Longest Increasing Subsequence )

최대 부분 증가수열 max(dy)가 안되는 이유를 모르겠습니다.

작성

·

234

0

최대 부분 증가수열에서 마지막 부분에

print(max(dy))를 하면 안되는 이유를 모르겠습니다.

dy가 list이기 때문에 max(dy)하면 나와야 할 것 같은데,

아래와 같은 에러가 나는지 모르겠습니다..ㅠㅠ

답변 1

4

안녕하세요, wndud님!

우선 해당 오류가 발생한 이유는 파이썬 예약어를 변수명으로 사용하였기 때문입니다.

이러한 예약어들은 각각의 기능들이 있는 함수이기 때문에, 변수명으로 사용하게되면 오류가 발생합니다.

현재 wndud님이 작성해주신 코드를 보면 max를 변수명으로 사용한 후에  max() 함수를 다시 사용해 이름 중복으로 인해 해당 오류가 발생하게 된 것으로 보입니다.

이를 해결하기 위해서는 변수명을 max가 아닌 다른 변수로 바꿔준 후에 max() 함수를 다시 print 해보시면 될 것 같습니다.

또는, 해당 변수명을 사용한 후에 max() 함수를 호출하기 전에 del 변수명 을 사용해 변수를 지워주는 형태도 가능할 것 같습니다.

혹시 궁금하신 점이 있다면 댓글 남겨주세요.

도움이 되었으면 좋겠습니다. :)

wndud님의 프로필 이미지
wndud
질문자

정말 감사드립니다! 

wndud님의 프로필 이미지
wndud

작성한 질문수

질문하기