Written on
·
183
0
강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)
질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요.
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!
구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.
기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다.
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요.
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
쇠막대기 문제하다가 질문이 생겨서 질문 드립니다.
제가 처음 접근한 방식인데요 이렇게 작성을 하게 되면 첫번째 else구문 안쪽에 if 절에서 IndexError: list index out of range라는 에러가 발생하더군요. 앞전 문제와 같이 temp리스트 안에 마지막 원소를 확인하기 위해서 [-1]을 사용했는데 여기서 왜 문제가 발생하는지 잘 모르겠습니다. 강사님께서는 이번 강의에서 num[i-1]을 사용해서 마지막 원소를 검색하시더라구요. 앞 전강의와 이번 강의에서 stack 리스트 안에 마지막 원소를 검색하는 방법이 다른 이유와 여기서는 왜 적용이 안되는지 설명해 주실수 있으신가요? 항상 강의 잘 듣고 있습니다. 감사합니다.
import sys
sys.stdin = open('input.txt')
num = input()
cnt = 0
temp = []
for i in range(len(num)):
if num[i] == '(':
temp.append(num[i])
else:
temp.pop()
if temp[-1] == '(':
cnt += len(temp)
else:
cnt += 1
print(cnt)
Answer 1
0
이 문제는 스택의 상단을 탐색하지 않는 문제입니다. 제가 num[i-1]을 탐색하는 것은 스택이 아니라 입력받은 문자열을 탐색하는 것입니다. 영상을 다시 보시면 다 설명하고 있습니다.
위 코드에서 if temp[-1]=='(' 이 아니라 if num[i-1]=='(' 로 바꾸시면 100점 나올겁니다.