프로그래밍-학습기록/알고리즘 & 자료구조

반복

leesche 2020. 5. 31. 21:48
더보기
5월 30일부터 책 <Do it! 자료구조와 함께 배우는 알고리즘 입문 자바 편>을 따라가며 블로그에 내용을 정리할 것이다. 비전공자로서 기본 전공 지식이 부족하고 여러 매체르 통해 살펴본 결과 자료구조와 알고리즘이 개발자에게 있어 필수 소양이란 것을 알게 되었다. 그리고 현재 가장 익숙한 언어가 자바이기 때문에 이 책을 선택했다. 매일 조금씩, 꾸준히 공부해서 책에서 제안하는 16주 완성 코스를 따라가 보려고 한다.

01-2 반복

반복: 어떤 조건이 성립하는 동안 처리를 반복하여 실행하는 것은 반복 구조라 하여 일반적으로 루프라고 부른다.

 

while문 반복

실행 전에 반복을 계속할지 판단하고, 이런 구조를 '사전 판단 반복 구조'라고 부른다. 제어식의 평가값이 0이 아니면 프로그램 명령문이 반복된다.

 

for문 반복: for(초기화 부분; 제어식; 업데이트 부분) 명령문

하나의 변수를 사용하는 반복문은 while문보다 for문을 사용하는 것이 좋다.

초기화 부분은 for문을 실행하기 전에 한 번만 실행한다. 제어식을 평가한 값이 true이면 for문의 명령문을 반복한다. 명령문을 실행한 다음에는 업데이트 부분을 실행한다.

for문 추가

  1. for문의 초기화 부분, 제어식, 업데이트 부분은 생략이 가능하지만 세미콜론은 생략하면 안 된다.
  2. for문의 초기화 부분에서 선언한 변수는 for문 안에서만 유효하다.
    1. for문을 종료한 다음에도 변수를 사용하려면 for문 바깥 부분에서 변수를 선언해야 한다.
    2. 같은 함수의 하나 이상의 for문에서 같은 이름의 변수를 사용하려면 각 for문 마다 변수를 선언해야 한다.

do문 while(제어식);

do문은 일단 루프 본문을 한 번 실행한 다음 계속 반복할 것인지 판단하는 사후 판단 반복문이다. while문과 마찬가지로 () 안의 제어식을 평가한 값이 0이 아니면 루프 본문의 명령문이 반복된다.

 

사전 판단 반복과 사후 판단 반복의 차이점

사전 판단 반복문은 처음 제어식을 평가한 결과가 0이면 루프 본문은 한 번도 실행되지 않는다. 이와 달리 사후 판단 반복문인 do문은 루프 본문이 반드시 한 번은 실행된다.