본문 바로가기
AI HW study/Baekjoon

백준 3단계-2: 반복문

by jyun13 2023. 7. 14.
반복 탈출의 차이점
   break문은 프로그램 블록안에서 실행을 중단하고 다음 블록으로 넘어가고자 할 때 사용하고,
   continue문은 반복문의 반복을 한번 취소하고 다음 반복을 실행할 때 사용한다.
Copy  <형식>
반복문
{
  break;  //가장 가까우 반복문 탈출
  //탈출시 이후의 로직은 무시함
}

반복문
{
  continue; //현재 반복만 탈출 - 다시 반복문으로 돌아가서 반복구문 수행
 //탈출시 이후의 로직은 무시함
}

 

while문
- 어떤 조건이 참인 경우에 내부 문장, 혹은 실행블록을 계속 실행하게 되는 반복문

    <형식>
    while(논리 문장)
  {
        데이터 계산 혹은 프로그램 처리로직 ;
  }

do문
- do문은 While문과 거의 비슷하지만, 논리 문장을 블록의 마지막에서 평가한다는 점에서 While문과
다르다.

Copy    <형식>
    do{
    실행 블록; //(혹은 문장)
    }while(논리문장)

11021번 A+B - 7

문제

 

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.

예제 출력 1 

Case #1: 2
Case #2: 5
Case #3: 7
Case #4: 17
Case #5: 7

 

#include <stdio.h>

int main()

{
    int T;
    int A, B;

    scanf("%d", &T); //테스트케이스 개수

    for (int i = 1; i < T+1; i++) {
        scanf("%d %d", &A, &B);
        printf("Case #%d: %d\n",i, A + B);
    }
    return 0;
}

11022번 A+B - 8

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.

예제 출력 1 

Case #1: 1 + 1 = 2
Case #2: 2 + 3 = 5
Case #3: 3 + 4 = 7
Case #4: 9 + 8 = 17
Case #5: 5 + 2 = 7

 

#include <stdio.h>
int main()
{
    int T;
    int A, B;
    scanf("%d", &T); //테스트케이스 개수
    for (int i = 1; i < T+1; i++) {
        scanf("%d %d", &A, &B);
        printf("Case #%d: %d + %d = %d\n", i, A, B, A + B);
    }
    return 0;
}

2438번 별 찍기 - 1

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입력 1 

5

예제 출력 1 복사

*
**
***
****
*****

 

#include <stdio.h>
int main()
{
    int N;
    scanf("%d", &N);
    for (int i = 0; i < N; i++) {
        for (int x = 0; x <= i; x++) {
            printf("*");
        }
    printf("\n");

    } return 0;
}

2439번 별 찍기 - 2

 

이 문제 잘 모르겠어서... 다른 분 코드 참고했다 !

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입력 

5

예제 출력 

    *
   **
  ***
 ****
*****

https://rujang.tistory.com/entry/%EB%B0%B1%EC%A4%80-2439%EB%B2%88-%EB%B3%84-%EC%B0%8D%EA%B8%B0-2-CC

 

 

[백준] 2439번 : 별 찍기 - 2 [C/C++]

#문제 2439번: 별 찍기 - 2 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)

rujang.tistory.com

//다른 분 코드
int main() {
int n;

scanf("%d", &n);

for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (j < n - i - 1) printf(" ");
else printf("*"); }
printf("\n"); }
return 0; }

 

10952번 A+B - 5

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

입력의 마지막에는 0 두 개가 들어온다.

출력

각 테스트 케이스마다 A+B를 출력한다.

 

#include <stdio.h>

int main()

{
int A, B;
while (1) {
scanf("%d %d", &A, &B);
if (A == 0 && B == 0) break;

printf("%d\n", A + B); }
}

 

10951번 A+B - 4

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 A+B를 출력한다.

예제 입력 1 복사

1 1
2 3
3 4
9 8
5 2

예제 출력 1 복사

2
5
7
17
7

https://velog.io/@jykchoi/%EB%B0%B1%EC%A4%80-29-C-10951.-AB-4

 

백준 #29 [C] 10951. A+B-4, C언어에서 EOF

백준 10951. A+B, 무한루프, EOF, scanf함수

velog.io

위의 참고 사이트 (EOF 개념 기억하기)

* EOF 

EOF: End-of-file, 파일 끝, 데이터 입력이 없을 때 실행을 끝냄. 입력을 중지하겠음을 알리기 위해 정의된 상수입니다.
<stdio.h> 파일의 41행에 -1 값으로 정의되어 있는 상수입니다.

결국 사용자가 입력하는 두 정수가 EOF가 아닐 때까지만 출력하도록 while문을 작성하면 되겠습니다.

#include <stdio.h>
int main() {
    int A, B;
    while(scanf("%d %d", &A, &B) != EOF)
        printf("%d\n", A+B);
    return 0;
}

'AI HW study > Baekjoon' 카테고리의 다른 글

백준 5단계 문자열 개념 정리  (0) 2023.07.15
백준 4단계: 1차원 배열  (0) 2023.07.14
백준 10단계: 기하(직사각형과 삼각형)  (0) 2023.07.14
백준 1단계  (0) 2023.07.11
백준 3단계-1: 반복문  (0) 2023.07.11