강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của glassriri2620650
glassriri2620650

câu hỏi đã được viết

Giới thiệu về giải bài toán bằng thuật toán Python (chuẩn bị cho bài kiểm tra viết mã)

2. Thanh sắt (stack)

쇠막대기 질문

Viết

·

408

1

쇠막대기문제 질문

안녕하세요 강의 잘 보고있습니다. 감사합니다

쇠막대기문제를 풀때 다음 코드는 예제1번(답:17)만 맞고 틀려서요

for x in p 와 for i in (len(p))의 차이 인거 같은데 잘 몰라서 질문드립니다. 

p=input()
stack=[]
res=0 # 잘려진 개수를 넣을곳

for x in p:
    if x=='(':
        stack.append(x)
    else:
        if stack[-1]=='(':
            stack.pop()
            res+=len(stack)
        else:
            #막대기 끝지점
            stack.pop()
            res+=1

print(res)
python코테 준비 같이 해요!

Câu trả lời 3

3

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

코딩테스트를 준비하시는 분 같아서 말씀드립니다. 이런 상황에서는 본인이 간단한 입력예제들을 만들면서 최소 1시간에서 2시간 정도 디버그를 하면서 본인의 에러를 클리어해야 합니다. 이 공부가 제일 중요합니다. 이 과정을 통해서 문제해결력이 길러집니다 그리고 실제 시험장에서 겪을 일입니다. 요즘은 입력예제를 하나밖에 안주는 기업들이 많습니다. 내가 짠 코드를 스스로 시험장에서 검증해보아야 합니다. 이게 당락을 좌우합니다. 2시간 정도 디버그를 했는데도 안되시면 저에게 질문하세요^^

닫힌 괄호를 만났을 때 stack[-1]의 값은 닫힌 괄호와 한 쌍을 이루는 여는 괄호입니다.

닫힌 괄호를 만났을 때 stack[-1]을 참조하면 안되는 이유입니다. 더 얘기를 해드리자면 스택에는 여는 괄호만 존재합니다. 막대기 끝지점 계산 부분을 생각해 보세요.

0

소름 ㅋㅋ내가 이렇게 풀었는데 다른 풀이법 볼려다가 나랑 똑같은 코드발견 ㅋㅋㅋㅋ

0

glassriri2620650님의 프로필 이미지
glassriri2620650
Người đặt câu hỏi

와 감사합니다. 솔직히 코딩테스트 준비에 어려움을 많이 느끼고 있어요. 그래도 포기하지 않고 조언대로 열심히 하겠습니다.

다시 한번 감사해요

Hình ảnh hồ sơ của glassriri2620650
glassriri2620650

câu hỏi đã được viết

Đặt câu hỏi