• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

제 코드가 틀린것일까요?

21.11.17 16:41 작성 조회수 139

0

우선 풀이를 보지 않고 작성한 코드입니다.

import sys

sys.stdin=open("input.txt", "rt")

 

n,m=map(int, input().split())

a=list(map(int, str(n)))

b=[]

x=1

while x:

    b.append(a[0])

    a.pop(0)

    if len(a)==0:

        break

    while b[-1]<a[0]:

        b.pop(-1)

        m-=1

        if len(b)==0:

            break

        elif m==0:

            for i in range(len(a)):

                print(a[i])

                b.append(a[i])

            x=0

            break

 

if m>0:

    for i in range(m):

        b.pop(-1)

 

for x in b:

    print(x, end='')

 

채점시 case #04 에서만 wrong answer가 뜨는데,

중간에 while문 안에서 m==0 일때 break가 안드네요.

일시적인 오류인건가 하는데 이해가 안가서요. 

 

답변 1

답변을 작성해보세요.

0

hms3593님의 프로필

hms3593

질문자

2021.11.17

 if len(b)==0:

            break

와 

elif m==0:

            for i in range(len(a)):

                print(a[i])

                b.append(a[i])

            x=0

            break

순서를 바꾸니까 해결이 되었네요;; b가 계속 비어있는 list가 될수도 있다고는 생각을 못했습니다. 그다지 효율적인 코드는 아니네요..