작성
·
477
0
안녕하세요. 선생님.
강의 잘 듣고 있는데, 한 가지 궁금한 점이 있어서 문의드립니다. 문제를 풀다보면 정답을 구하는 과정에서 정답에 필요한 값을 저장할 때
형식이 어떨때는 res=[0]*n로 정할때가 있고 어떨때는 res=[]로 기본값을 설정할 때가 있습니다.
res는 0으로 값을 초기화시킨다는 것이고, res는 빈 리스트를 기본값으로 한다는 것인데,
언제 위 둘을 사용하는지 궁금합니다.
알파코드 문제를 예시로 들었을 때, res=[]으로 하면 오류가 나더군요.
강의 잘 듣고 있고, 답변 기다리겠습니다.
감사합니다.
답변 1
0
res = [0]*n은 n개의 0이 나열된 길이 n의 리스트를 선언하는 것이고 []는 비어있는 리스트를 선언합니다.
len(res)를 해보면 전자는 n이 나올 거고 후자는 0이 나올 겁니다.
전자에서는 미리 0으로 채워놓고 상황에 따라 그 0을 다른 숫자로 대치시켜 마지막에 0의 개수 혹은 0이 아닌 개수를 판단해서 무언가를 실행할 때 쓸테고, 비어있는 리스트는 상황에 따라 리스트를 채워간 후에 마지막에 그 리스트를 반환한다거나 할 때 사용할 것 같습니다.
상황에 따라 다르니 그때그때 맞닥들이실 때 조금씩 살펴보셔도 될 것 같습니다.