반복문 (for, while) - 루프의 기초

코딩C언어JavaPython
읽는데 15분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-02-18
조회수: 34

요약

반복문의 기본 개념을 알아봅니다. for문과 while문의 구조, break와 continue 등 정보처리기사 실기에 출제되는 루프 개념을 정리합니다.

반복문 핵심 정리

종류사용 시점예시
for반복 횟수가 정해진 경우for(i=0; i<5; i++)
while조건이 참인 동안 반복while(n > 0)
break루프 즉시 종료if(found) break;
continue다음 반복으로 건너뛰기if(skip) continue;
종류사용 시점예시
for반복 횟수가 정해진 경우for(i=0; i<5; i++)
while조건이 참인 동안 반복while(n > 0)
break루프 즉시 종료if(found) break;
continue다음 반복으로 건너뛰기if(skip) continue;
종류사용 시점예시
for리스트나 범위를 순회for i in range(5):
while조건이 참인 동안 반복while n > 0:
range정수 범위를 생성range(0, 5)
break루프 즉시 종료if found: break
continue다음 반복으로 건너뛰기if skip: continue

for문

for문반복 횟수가 정해진 경우 사용합니다.

c
코드 하이라이팅 중...
java
코드 하이라이팅 중...

Python의 for문은 C/Java와 구조가 다릅니다. 리스트나 범위(range)를 순회하는 방식입니다.

python
코드 하이라이팅 중...

가장 많이 쓰는 패턴은 range() 함수와 함께 사용하는 것입니다.

python
코드 하이라이팅 중...

for문 실행 순서

c
코드 하이라이팅 중...
text
코드 하이라이팅 중...
java
코드 하이라이팅 중...
text
코드 하이라이팅 중...
python
코드 하이라이팅 중...
text
코드 하이라이팅 중...
단계i 값조건 (i < 3)출력
1회00
2회11
3회22
4회3거짓(종료)
단계i 값조건 (i < 3)출력
1회00
2회11
3회22
4회3거짓(종료)
단계i 값range(3)에 남은 값출력
1회01, 20
2회121
3회2없음2
--순회 끝(종료)
for문 실행 순서
초기화 → 조건 검사 → 코드 실행 → 증감식 순서로 반복됩니다. 조건이 거짓이 되면 for문이 종료됩니다.


while문

while문조건이 참인 동안 계속 반복합니다.

c
코드 하이라이팅 중...

while문 예시

c
코드 하이라이팅 중...
while문 실행 순서
while문은 조건을 먼저 검사한 뒤 반복 코드를 실행합니다. i++이 반복 코드 안에 있어서 직접 작성해야 합니다.

for문 vs while문

c
코드 하이라이팅 중...

while문조건이 참인 동안 계속 반복합니다.

java
코드 하이라이팅 중...

while문 예시

java
코드 하이라이팅 중...

for문 vs while문

java
코드 하이라이팅 중...

while문조건이 참인 동안 계속 반복합니다.

python
코드 하이라이팅 중...

while문 예시

python
코드 하이라이팅 중...

for문 vs while문

python
코드 하이라이팅 중...
구분for문while문
초기식 위치괄호 안루프 밖
증감식 위치괄호 안루프 안
사용 시점횟수가 정해진 경우조건 기반 반복
구분for문while문
초기식 위치괄호 안루프 밖
증감식 위치괄호 안루프 안
사용 시점횟수가 정해진 경우조건 기반 반복
구분for문while문
반복 기준리스트, range 등을 순회조건이 참인 동안 반복
증감식자동 (다음 값으로 이동)직접 작성해야 함
사용 시점순회할 대상이 있는 경우조건 기반 반복

break - 루프 종료

break는 루프를 즉시 종료합니다.

c
코드 하이라이팅 중...
text
코드 하이라이팅 중...

배열에서 값 찾기

c
코드 하이라이팅 중...
java
코드 하이라이팅 중...
python
코드 하이라이팅 중...
text
코드 하이라이팅 중...

리스트에서 값 찾기

python
코드 하이라이팅 중...

continue - 다음 반복으로

continue는 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.

c
코드 하이라이팅 중...
java
코드 하이라이팅 중...
python
코드 하이라이팅 중...
i동작출력
0출력0
1출력1
2continue(건너뜀)
3출력3
4출력4

break vs continue

키워드동작결과
break루프 완전 종료루프 밖으로 탈출
continue현재 반복만 건너뜀다음 반복 계속

++i vs i++

둘 다 i를 1 증가시키지만, 값을 반환하는 시점이 다릅니다.

표현이름동작
++i전위 증가먼저 증가, 그 다음 값 사용
i++후위 증가먼저 값 사용, 그 다음 증가

단독 사용 시 (차이 없음)

c
코드 하이라이팅 중...

for문의 증감식에서는 결과가 같습니다.

값을 사용할 때 (차이 있음)

c
코드 하이라이팅 중...
코드실행 후 i/j실행 후 a/b
a = ++i; (i=5)66
b = j++; (j=5)65

중첩 반복문

반복문 안에 반복문을 넣을 수 있습니다.

c
코드 하이라이팅 중...

출력:

text
코드 하이라이팅 중...

단계별 실행 과정

바깥 루프(i)가 1회 실행될 때마다 안쪽 루프(j)가 처음부터 끝까지 실행됩니다.

i = 0일 때:

j 값조건 (j < 3)출력
0(0,0)
1(0,1)
2(0,2)
3거짓안쪽 루프 종료 → \n 출력

i = 1일 때:

j 값조건 (j < 3)출력
0(1,0)
1(1,1)
2(1,2)
3거짓안쪽 루프 종료 → \n 출력

i = 2일 때: 조건 i < 2가 거짓 → 바깥 루프 종료

중첩 반복문 실행 과정
ⓐ 바깥 for문이 1회 실행될 때마다 ⓑ 안쪽 for문이 처음부터 끝까지 실행됩니다. 안쪽 for문이 끝나면 j는 변수 스코프에 의해 사라집니다.

변수 스코프

C언어에서 블록(block) 이란 중괄호 {}로 감싼 코드 영역을 말합니다. 블록 안에서 선언한 변수는 그 블록이 끝나면 사라집니다. 이 변수가 유효한 범위를 스코프(scope) 라고 합니다.

for (int j = 0; ...) 처럼 for문 안에서 선언한 변수는 해당 for문 블록 안에서만 사용할 수 있습니다.

c
코드 하이라이팅 중...

System.out.print vs System.out.println

Java에서 출력할 때 사용하는 두 메서드의 차이를 반드시 알아야 합니다.

메서드줄바꿈예시 출력
System.out.print()안 함AB (같은 줄)
System.out.println()A (줄바꿈) B
java
코드 하이라이팅 중...

for문으로 배열 순회하기

for문은 배열과 함께 사용하는 경우가 매우 많습니다.

java
코드 하이라이팅 중...

a.length는 배열의 크기를 반환합니다. 위 예시에서는 3입니다. 배열에 대한 자세한 내용은 배열 페이지를 참고하세요.

range 함수

range() 함수는 정수 범위를 생성합니다. for문과 함께 가장 많이 사용됩니다.

python
코드 하이라이팅 중...
python
코드 하이라이팅 중...
표현생성되는 값C/Java 대응
range(5)0, 1, 2, 3, 4for(i=0; i<5; i++)
range(2, 6)2, 3, 4, 5for(i=2; i<6; i++)
range(0, 10, 3)0, 3, 6, 9for(i=0; i<10; i+=3)

Python의 print() 함수는 기본적으로 출력 후 줄바꿈을 합니다. end 매개변수로 줄바꿈 대신 다른 문자를 지정할 수 있습니다.

사용법줄바꿈예시 출력
print("A")A (줄바꿈) B
print("A", end="")안 함AB (같은 줄)
print("A", end=" ")안 함 (공백)A B (공백 구분)
python
코드 하이라이팅 중...

for문으로 리스트 순회하기

for문은 리스트와 함께 사용하는 경우가 매우 많습니다.

값을 직접 순회

python
코드 하이라이팅 중...

인덱스로 순회

인덱스를 사용하면 리스트의 위치 번호로 각 요소에 접근할 수 있습니다.

python
코드 하이라이팅 중...

len(a)는 리스트의 길이를 반환합니다. 위 예시에서는 3입니다.

인덱스와 값을 동시에 순회

python
코드 하이라이팅 중...

enumerate()는 인덱스와 값을 동시에 반환하는 함수입니다. 자세한 내용은 enumerate 함수 페이지를 참고하세요.


중첩 반복문

반복문 안에 반복문을 넣을 수 있습니다. 시험에서 자주 출제되는 패턴입니다.

python
코드 하이라이팅 중...

출력:

text
코드 하이라이팅 중...

단계별 실행 과정

바깥 루프(i)가 1회 실행될 때마다 안쪽 루프(j)가 처음부터 끝까지 실행됩니다.

i = 0일 때:

j 값range(3) 남은 값출력
01, 2(0,0)
12(0,1)
2없음(0,2)
-순회 끝안쪽 루프 종료 → 줄바꿈

i = 1일 때:

j 값range(3) 남은 값출력
01, 2(1,0)
12(1,1)
2없음(1,2)
-순회 끝안쪽 루프 종료 → 줄바꿈

i = 2: range(2)의 순회가 끝남 → 바깥 루프 종료

2차원 리스트와 중첩 반복문

2차원 리스트를 순회할 때 중첩 반복문을 사용합니다. 이 패턴은 정보처리기사 실기에 출제된 바 있습니다.

python
코드 하이라이팅 중...

바깥 for문은 lol의 각 하위 리스트를 순회하고, 안쪽 for문은 하위 리스트의 각 요소를 순회합니다. end=""로 같은 줄에 출력하고, 내부 반복이 끝나면 print()로 줄바꿈합니다.


정보처리기사 실기 대비 문제