티스토리 뷰

C언어

[백준-15000]: CAPS(C99)-브론즈5

문화택시 2024. 4. 21. 00:35

목차



     

     

     

     

     

    문제

    지구가 공격받고 있습니다! 
    상황이 심각하다는 것을 분명히 알리는 메시지를 지구방위군(EDF)에 보내야 합니다. 
    EDF의 가장 강력한 세력은 일본 청소년이 조종하는 기계(거대 이족 보행 로봇)로 구성됩니다. 
    메시지가 긴급한 것으로 보이도록 하려면 조종사의 모니터에 대문자로 표시되어야 합니다.
    안타깝게도 EDF에서 사용하는 타키온 통신 시스템은 알파벳 소문자로만 문자열을 보낼 수 있습니다.
    
    소문자 알파벳 문자 집합은 'a', 'b', 'c', 'd', 'e', ​​'f', 'g', 'h', 'i' 문자로 구성됩니다.
    ', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'.
    
    당신의 임무는 주어진 메시지를 대문자로 변환하는 프로그램을 작성하는 것입니다.

     

    입력

    알파벳 소문자로 구성된 길이 n(1 ≤ n ≤ 10의 6승)의 문자열을 포함하는 단일 라인입니다.

    출력

    모든 문자가 대문자로 변환되는 입력 문자열을 포함하는 단일 라인입니다.

     

    ※내용정리

    "입력받은 소문자 알파벳들을 대문자 알파벳들로 변환해 출력해라!

    [길이는 10의 6승이하]"

     

    ※필요한 배경지식

    입력받은 소문자를 대문자 알파벳들로 변환시켜야하니

    계산을 위한 아스키코드표 활용과

    문자의 길이를 알 수 있는 strlen함수를 알고있으면 쉽게 해결 할 수 있는 문제다.

     

     

    #include<stdio.h>
    #include<string.h>
    int main() {
    	char signal[1000000];
    	scanf("%s", signal);
    	int len = strlen(signal);
    	for (int i = 0; i < len; i++) {
    		signal[i] = signal[i] - 32;
    		printf("%c", signal[i]);
    	}
    	return 0;
    }

     

    반응형