1329: [기초-반복실행구조] 반복을 멈추어 보자

메모리:128 MB 시간:1.000 S 표준 입력 및 출력
문제유형 채점방법:일반 만든사람:
제출:9 통과:5

문제설명

반복문은 특정 작업을 정해진 횟수만큼 반복하게 된다.
그러나 경우에 따라서는 중간에 멈추거나 반복을 생략하고 다음으로 넘겨야 하는 경우가 있다.
예를 들어
입력받은 값을 계속 출력하다가 찾는 숫자가 나오면 반복을 종료하게 할 수 있다.
찾는 숫자가 4이고
입력은 5 3 9 1 2 4 9 ~~~ 이런식으로 계속 들어온다고 가정하자
이때 4가 입력되는 순간 더이상 출력하지 않고 멈추게 하는 것이다.
결국 출력은 5 3 9 1 2 만 출력되게 한다.
=====C언어 기준 ======================
이때 사용할 수 있는 명령이 break 이다. (switch case 명령에서 다룬 내용과 비슷하다고 생각하면 된다.)
결국 break 명령은 반복을 중간에 멈추게 하는 역할을 한다. 이때 자신을 둘러싸고 있는 반복문 하나만 종료하게 된다.
int n,k;
scanf("%d",&n);
for( ; ; ){
scanf("%d",&k);
if(n==k) break;
else printf("%d ",k);
}
입력으로
4
5 3 9 1 2 4 9 ~~ 계속 입력된다고 하면
출력은
5 3 9 1 2 까지만 출력한다.
이와 다른 명령으로는 continue 명령이 있다. 이는 실행의 순서를 변경하는 것이다.
continue가 실행되면 자신의 밑에 있는 명령들은 건너뛰고 반복문의 ( ) 속으로 이동하여 다음 명령을 실행한다.
예를 들어
int n;
scanf("%d",&n);
for( int i=1 ; i<=n; i++ ){
if(i%3==0) continue;
else printf("%d ",i);
}
입력으로 10이 입력되면 결과는
1 2 4 5 7 8 10 이 출력된다.
이유는 조건에 해당하는 i%3==0일때 continue명령이 실행되면
다음 명령들을 실행하지 않고 반복의 (   ) 안으로 이동하여 i++ 명령을 실행하고 i<=n 명령으로 넘어간다.




===python 기준 ==============
반복을 중간에 멈출 때 사용하는 명령어로 break를 사용한다.

break와 continue는 Python에서 반복문 (for, while)의 흐름을 제어하는 데 사용되는 키워드입니다. 이 두 키워드는 반복문 내에서 특정 조건이 만족되었을 때 실행 순서를 변경합니다.

1. break

  • 역할: break는 반복문을 즉시 종료하고 반복문 다음 문장으로 실행 흐름을 옮깁니다.
  • 사용 예시: 특정 조건을 만족하는 요소를 찾으면 반복을 중단할 때 유용합니다.
for number in range(1,6):     
 if number == 3:         
 break  # number가 3이면 반복문 종료     
 print(number) # 출력: 1, 2 

위 예시에서 number가 3이 되면 break 문이 실행되어 반복문이 종료됩니다. 따라서 3 이후의 숫자(4, 5)는 출력되지 않습니다.

2. continue

  • 역할: continue는 현재 반복 단계를 건너뛰고 다음 반복 단계로 넘어갑니다.
  • 사용 예시: 특정 조건을 만족하는 요소를 제외하고 나머지 요소에 대해서만 작업을 수행할 때 유용합니다.
for number in numbers:     
 if number % 2 == 0:         
 continue  # number가 짝수이면 현재 반복 단계를 건너뜀     
 print(number) # 출력: 1, 3, 5 

위 예시에서 number가 짝수이면 continue 문이 실행되어 현재 반복 단계를 건너뛰고 다음 숫자로 넘어갑니다. 따라서 짝수(2, 4)는 출력되지 않고 홀수(1, 3, 5)만 출력됩니다.

break와 continue 비교

키워드 역할 설명
break               반복문 종료         반복문을 즉시 종료하고 반복문 다음 문장으로 실행 흐름을 옮깁니다.
continue            현재 반복 단계 건너뛰기        현재 반복 단계를 건너뛰고 다음 반복 단계로 넘어갑니다.

주의 사항

  • break와 continue는 반복문 (for, while) 내에서만 사용할 수 있습니다.
  • 중첩된 반복문에서 break를 사용하면 가장 안쪽의 반복문만 종료됩니다. 바깥쪽 반복문까지 종료하려면 별도의 처리가 필요합니다.

요약: break는 반복문을 완전히 종료하고, continue는 현재 반복 단계만 건너뜁니다. 이 두 키워드를 적절히 활용하면 반복문의 흐름을 효율적으로 제어하고 원하는 결과를 얻을 수 있습니다.



입력조건

입력으로 숫자들이 계속 입력된다. 이때 숫자의 크기는 100을 넘지 않는다.

출력조건

입력받은 수 중에서 2의 배수는 출력하고 4의 배수는 출력하지 않고 33이라는 숫자가 입력되면 프로그램을 종료한다. 그리고 33보다 크면 무조건 출력한다.

입력예시 복사

2 4 6 8 10 14 18 22 26 30 37 38 39 40 33 34 35 36 

출력예시 복사

2 6 10 14 18 22 26 30 37 38 39 40

힌트



이 문제는 break 와 continue를 이용해서 풀어보기 바랍니다.