본문 바로가기
정리/C

[C] 백준 #2010, #2441, #2442

by 멘멘 2023. 10. 1.

#2010

문제 설명

플러그가 1개 있고, N개의 멀티탭이 있다. 각 멀티탭은 몇개의 플러그로 이루어져 있을때, 최대 몇 대의 컴퓨터를 전우너에 연결할 수 있을지를 구하는 문제이다. 첫째 줄에 멀티탭 개수 N이 주어지고, 둘째 줄부터 N개의 멀티탭이 몇 개의 플러그를 꽂을 수 있는지 나타내는 자연수가 주어진다.

 

풀이 과정

 

total은 총 연결 가능한 개수인데 기본적으로 처음에 1개를 꽂을 수 있으므로 초기값을 1로 설정해주었다. 그리고 N개의 멀티탭을 연결하므로 while문으로 반복하고, 플러그 개수인 num을 받을 때마다 멀티탭을 연결한 플러그를 1개 빼고 연결할 수 있는 플러그 수인 num을 더해주어 total을 구할 수 있었다.

#include <stdio.h>

int main(){
    int N, total = 1;
    scanf("%d",&N);
    while(N--){
        int num;
        scanf("%d",&num);
        total = total -1 + num;
    }
    printf("%d",total);
    return 0;
}

 

 

#2441

문제 설명

첫째 줄에는  N, 둘째 줄에는  N-1, ..., N번째 줄에는  1개를 찍는 문제이다.

다만 오른쪽을 기준으로 출력해야한다.

출력결과 참고

 

풀이 과정

N은 줄 수이고, 첫째줄에 N개로 시작하여 차츰 감소하므로 공백을 따지는 k는 점점 증가하도록, 별을 출력하는 j는 점점 감소하도록 하여 출력해주었다.

#include <stdio.h>

int main(){
    int N;
    scanf("%d",&N);
    
    for(int i = 0; i<N;i++){
		for(int k = 0;k<i;k++){
                printf(" ");
            }
        for(int j = N-i; j>0;j--){
			printf("*");   
        }
		
        printf("\n");
    }
    
    return 0;
}

 

#2442

문제 설명

첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제이다.

가운데 기준으로 대칭인 모양으로 나오면 된다.

출력결과 참

 

풀이 과정

위의 풀이과정에서 살짝의 변형을 주면 된다. i를 기준으로 공백의 개수는 감소, 별은 증가하도록 하여 왼쪽 삼각형을 만들고 별의 개수를 하나 줄여서 오른쪽을 출력해주면 대칭인 삼각형 모양의 별이 나올 수 있다.

#include <stdio.h>

int main(){
    int N;
    scanf("%d",&N);
    
    for(int i = 1; i<N+1;i++){
		for(int j = N-i; j>0;j--){
			printf(" ");   
        }
		for(int k = 0;k<i;k++){
                printf("*");
            }
		for(int l = 1;l<i;l++){
                printf("*");
            }
        
		
        printf("\n");
    }
    
    return 0;
}
 

'정리 > C' 카테고리의 다른 글

[C] 백준 #1547, #1598, #1703  (0) 2023.09.19
[C] 백준 #1085, #1267, #1284  (0) 2023.09.17
[c] 백준 10870  (0) 2023.08.27
[c] 코딩도장 파일입출력 문제  (0) 2023.08.27
[c] 파일 입출력  (0) 2023.08.27

댓글