본문 바로가기
⌨️ Algorithm/C

1/3 [C] 백준 21734번 - SMUPC의 등장

by Lucy Oh 2022. 1. 3.

<문제>

 

https://www.acmicpc.net/problem/21734

 

21734번: SMUPC의 등장

2021년 5월 8일 SMUPC 대회의 첫 개최에 신이 난 화은이는 SMUPC를 기념하기 위해 "SMUPC"를 예술적으로 출력하는 프로그램을 작성하고자 했다. 화은이는 각 알파벳에 해당하는 아스키코드 값을 10진

www.acmicpc.net

 

<내가 제출한 코드>

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
	char s[10];
	int i,j;
	int a, b,c; //순서대로 10진법 아스키코드 값의 첫째자리, 둘째자리, 셋째자리
	scanf("%s", &s); 
	for (i = 0; s[i] != '\0'; i++) {
		a = s[i] / 100;		//첫째자리
		b = s[i] % 100 / 10;	//둘째자리
		c = s[i] % 10;		//셋째자리
		for (j = 0;j<a+b+c; j++) {
			printf("%c", s[i]);
		}
		printf("\n");
	}
}

먼저 크기가 10인 char형 문자열 s를 선언해주었다.

-> 입력되는 s의 길이가 10을 넘지 않아야 한다는 조건이 있었음.

 

scanf를 통하여 문자열을 받고, 바로 배열 s에 저장해주었다.

 

배열 s에 null문자가 나오기 전까지 i에 해당하는 원소의 아스키코드 값의 첫째자리, 둘째자리, 셋째자리를 각각 int형 변수 a,b,c에 저장해주었다.

 

그리고 j를 사용하여 a+b+c만큼 i인덱스의 원소를 반복하여 출력해주었다.

 

다음 원소를 다음줄에 출력하기 위하여 마지막엔 /n을 출력해주었다.

댓글