인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

min997155003's profile image
min997155003

asked

Introduction to Python Algorithm Problem Solving (Coding Test Preparation)

[Additional Video] Merge Sort-1

if문 안에 while문 구조

Written on

·

3.5K

0

if 조건:

 실행할 내용

 while 조건:

  실행할내용

병합정렬 코드처럼 이러한 if문안에 while문 코드인경우에 코드 실행순서가 if문을 먼저 다 돌고 while문을 실행하나요??  아니면 if문 하나 실행하고 while문 하나 실행 이런식으로 작동되나요?? 헷갈려서 질문드립니다 ㅠㅠ

python코테 준비 같이 해요!

Answer 3

0

codingcamp님의 프로필 이미지
codingcamp
Instructor

안녕하세요^^

if문은 반복문이 아니라 제어문입니다. 참이면 한 번만 하고 끝나는 구문입니다.

if lt<rt: 가 참이면 if문에 속한 블록을 한 번 하고 끝나는 것입니다.

if lt<rt: 안의 while문은 반복문이니까 거짓이 될 동안 자기 구문을 하다고 멈추면 됩니다.

0

min997155003님의 프로필 이미지
min997155003
Questioner

def Dsort(lt, rt):
    if lt < rt:
        mid = (lt+rt)//2
        Dsort(lt, mid)
        Dsort(mid+1, rt)
        p1 = lt
        p2 = mid + 1
        tmp = []
        while  p1<=mid and p2<=rt:
            if arr[p1]<arr[p2]:
                tmp.append(arr[p1])
                p1+=1
            else:
                tmp.append(arr[p2])
                p2+=1

                

       저 코드에서     if문 안에 while문이 쓰여졌을떄 어떤 순서대로 작동하는지 궁금합니다.     

     1. if문(참일시) -> 실행 -> while문(참일시) -> 실행 -> if문 -> while 문 

이순서대로 반복인가요? 아니면

  2. if문(참일시) 실행 -> 또 if문 실행 -> if문 실행 -> 다 실행하고 while문 실행 

이런 순서대로 코드가 실행되나요!?

헷갈려서 질문드립니다!!!

*for i in range(n):

   for j in range(n):

*의 2중 for문처럼 n이 5라 가정시 i가 0일때 j가 0 1 2 3 4 돈 후  i 가 1이되고 j가 0 1 2 3 4 돌고 이런식으로 진행 되는 2중 for문 구조랑 if문 안의 while문의 구조도 똑같은 방식으로 코드가 진행된다고 보면되나요???

0

codingcamp님의 프로필 이미지
codingcamp
Instructor

안녕하세요^^

무슨질문인지 제가 잘 이해가 안됩니다. "if문을 먼저 돌리고"나 "if문 하나 실행하고" 말이 뭔지 모르겠습니다. 예시 코드를 작성해서 구체적으로 질문했으면 합니다.

min997155003's profile image
min997155003

asked

Ask a question