• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

섹션3. 두 리스트 합치기 질문입니다

23.01.05 22:29 작성 23.01.05 22:32 수정 조회수 161

0

안녕하세요 강사님

섹션3의 4번째 문제 (두 리스트 합치기) 를 듣다가 궁금한게 생겨서 문의 드립니다 

강사님 코드는 while p1<n and p2<m: 조건을 걸고 while문 밖에서

두 포인트 지점 p1, p2에 조건을 추가해 마지막처리를 하셨는데

while p1 < n and p2 < m:

    if a[p1] <= b[p2]:

        c.append(a[p1])

        p1 += 1

    else:

        c.append(b[p2])

        p2 += 1

if p1 < n:

    c = c + a[p1:]

elif p2 < m:

    c = c + b[p2:]

for x in c:

    print(c, end=' ')

저는 이렇게 while문을 무한루프로 만들고 while문 안에서 break 조건을 걸어서 처리했는데 이렇게 하면 안좋거나 잘못된 코드인가요?

while True:

    if a[p1] <= b[p2]:

        c.append(a[p1])

        p1 += 1

        if p1 == n:

            c.extend(b[p2:])

            break

    else:

        c.append(b[p2])

        p2 += 1

        if p2 == m:

            c.extend(a[p1:])

            break

print(c)

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 위에 처럼 해도 상관없을 것 같습니다.