혜랑's STORY

[여름방학 1주차 C과제] 본문

2020 SISS 21기 활동/여름방학 C언어

[여름방학 1주차 C과제]

hyerang0125 2020. 7. 9. 17:01

#1 (SWEA 1926)

SWEA 1926번 문제 설명

# 풀이

 check라는 변수에 검사할 값을 대입한 뒤, 10으로 나눈 나머지 값이 3,6,9 중 해당된다면 '-'를 프린트하고 flag값에 1을 대입해 준다. 만약 해당되는 값이 없다면 flag값은 처음 설정한 0의 값을 가지고 가며 flag가 0이라면 '-'이 아닌 현재 값을 프린트하고, flag가 0이 아니라면 앞에서 이미 '-'를 프린트 해주었기 때문에 공백을 프린트 해주면 된다. 

#코드

#include <stdio.h>

int main() {
	int x = 0;

	scanf_s("%d", &x);

	for (int i = 1; i <= x; i++) {
		int check = i, flag = 0;
		while (check) {
			if (check % 10 == 3 || check % 10 == 6 || check % 10 == 9) {
				flag = 1;
				printf("-");
			}
			check /= 10;
		}

		if (flag == 0) {
			printf("%d ", i);
		} 
		else {
			printf(" ");
		}
	
	}

	return 0;
}

#실행 결과

SWEA 1926번 실행 결과

#2 (SWEA 1986)

SWEA 1986번 문제 설명

#풀이

 테스트 수(T)를 입력 받은 뒤, T만큼 테스트 케이스(Tcase)와 결과값을 저장할(result) 배열을 생성한다. Tcase를 입력 받고 1부터 Tcase[i]가 될 때까지 result[i]에 홀수인 경우엔 값을 더하고 짝수인 경우엔 값을 뺀다. 

#코드

#include <stdio.h>

int main() {
	int T;
	scanf_s("%d", &T);

	int* result = (int*)malloc(sizeof(int) * T);
	int* Tcase = (int*)malloc(sizeof(int) * T);
	for (int i = 0; i < T; i++) {
		scanf_s("%d",&Tcase[i]);
		result[i] = 0;
		for (int j = 1; j <= Tcase[i]; j++) {
			if (j % 2) {
				result[i] += j;
			}
			else {
				result[i] -= j;
			}
		}
	}

	for (int i = 1; i <= T; i++) {
		printf("#");
		printf("%d %d\n", i, result[i - 1]);
	}

	return 0;
}

 #실행 결과

SWEA 1986번 실행 결과

'2020 SISS 21기 활동 > 여름방학 C언어' 카테고리의 다른 글

[여름방학 6주차 C과제]  (0) 2020.08.15
[여름방학 5주차 C과제]  (0) 2020.08.07
[여름방학 4주차 C과제]  (0) 2020.08.02
[여름방학 3주차 C과제]  (0) 2020.07.24
[여름방학 2주차 C과제]  (0) 2020.07.15