TIL (Today I Learn)

1-6. 조건문, 반복문

나새끼메이커 2025. 11. 19. 17:47
반응형

1. 조건문

조건문이란?
프로그램이 어떤 조건을 만족할 때만 실행되는 코드 블록

 

기본 구조

if (조건1) {
	// 조건1이 참일 때 실행
    } else if (조건2) {
    // 조건2가 참일 때 실행
    } else {
    // 위 조건들이 모두 거짓일 때 실행
    }

 

 

예제

나이가 18세 이상이면 "성인입니다" 출력,
15세 이상이면 "청소년입니다" 출력,
모두 아니라면 "어린이입니다" 출력
void main() {
	int age = 15;
    
    if(age >= 18) {
    	print("성인입니다");
    } else if(age >= 15) {
    	print("청소년입니다");
    } else {
    	print("어린이입니다");
    }
}

 

 

2. 반복문

반복문이란?
똑같은 코드를 여러 번 반복할 때 사용

 

for문

 

  • 반복 횟수가 정해져 있거나 예측 가능한 작업에 적합
  • 규칙적인 증가/감소를 기반으로 반복을 통제

 

// false값이 나올 때까지 반복
// 초기값 ; 조건 ; 증감식

for (int i = 0; i < 5; i++) {
	print(i);
    }

 

while문

 

  • 종료 시점을 예측할 수 없는 작업
  • 외부 조건(서버 응답, 성공 여부, 파일 존재 여부 등)이 바뀌어야 종료되는 반복
  • 특히 “성공하면 즉시 멈춤” 같은 비동기적/이벤트성 조건에 적합

 

// true일 동안 실행

int i = 1;
while (i <= 5) {
	print(i); i++;
    }

 

 

for문과 while문의 차이를 이해하기 위해 GPT와 얘기를 나눈 결과 내가 얻은 답은 이거다.

for문은 카운트 기반의 반복에 유리하다. 반복해야 하는 횟수가 정해져있을 경우 유용하다.

while문은 반복 횟수나 종료 시점을 예측할 수 없으며, 이벤트 기반 반복인 경우에 유용하다.

 

예를 들어,

아침에 알람이 5번 반복한 후 멈추도록 하려면 카운트 기반 반복인 for문으로,

깰 때까지, 화장실에 가서 세수할 때까지 반복되도록 하려면 이벤트 기반 반복인 while문으로 작성하면 된다는 것이다.

 

다른 예시로는,

만약 수강신청 또는 콘서트 티케팅을 위한 매크로 프로그램을 만든다고 할 때,

우리의 목적은 수강신청 완료 또는 티케팅 성공 시까지 이를 반복 수행하는 것이므로

이때는 카운트 기반의 for문이 아닌 이벤트 기반의 while문으로 작성해야 하는 것이다.

몇 번째에 성공할지 알 수 없으며, 성공한 이후에도 반복할 필요가 없기 때문에.

 

 

 

이런 것들은 결국 독학해야 하는 정보인걸까?

GPT가 없는 시절에는 어떻게 공부했누...

교무실 뻔질나게 드나들었을 게다.

 

암튼 오늘도 뿌듯한 하루! 나는 잘 해넀다!

반응형