관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

데이터 출력 2 - 기초 입출력 코딩테스트 문제 풀기 <코드업> 본문

알고리즘 및 자료 관리/알고리즘 & 코딩테스트

데이터 출력 2 - 기초 입출력 코딩테스트 문제 풀기 <코드업>

huenuri 2024. 8. 24. 22:18

오늘은 입출력을 하는 기초적인 코딩 테스트 문제를 풀어보기로 했다. 난 그날 학습한 단원에 관련된 문제를 주로 푸는데, 오늘은 이 단원을 학습하고 정리했다.
코드업에 기초적인 문제들이 많으니 여기서 문제를 가져왔다. 너무 쉬운 문제를 제외하고 조금 풀만한 문제들을 선별해보았다.


 

 

 

문자 2개 입력 받아 출력 <1014번>

문자 2개 입력받아 순서 바꿔 출력하기

 

[기초-입출력] 문자 2개 입력받아 순서 바꿔 출력하기(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

 

❓ 문제 1번

2개의 문자(ASCII CODE)를 입력받아서 순서를 바꿔 출력해보자.

#include <stdio.h>

int main(void)
{
	char ch1, ch2 = 0;
	scanf_s("%c %c", &ch1, 1, &ch2, 1);
	printf("%c %c", ch2, ch1);

	return 0;
}


 

 

실수 입력 받아 출력 <1015번>

실수 입력받아 둘째 자리까지 출력하기

 

[기초-입출력] 실수 입력받아 둘째 자리까지 출력하기(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

 

❓ 문제 2번

실수(float) 1개를 입력받아 저장한 후, 저장되어 있는 값을 소수점 셋 째 자리에서 반올림하여 소수점 이하 둘째 자리까지 출력하시오.

#include <stdio.h>

int main(void)
{
	float fn;
	scanf_s("%f", &fn);
	printf("%.2f", fn);

	return 0;
}

 

원하는 자릿수까지 출력하려면 % 뒤에 자릿수를 써주면 된다.


 

 

정수 입력 받아 반복 출력 <1017번>

정수 1개 입력받아 3번 출력하기

 

[기초-입출력] 정수 1개 입력받아 3번 출력하기(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

 

❓ 문제 3번

int형 정수 1개를 입력받아 공백을 사이에 두고 3번 출력해보자.

#include <stdio.h>

int main(void)
{
	int num;

	scanf_s("%d", &num);
	printf("%d %d %d", num, num, num);

	return 0;
}

 

반복 출력하려면 변수를 3번 쓰면 된다.


 

 

시간 입력받아 출력 <1018번>

시간 입력받아 그대로 출력하기

 

[기초-입출력] 시간 입력받아 그대로 출력하기(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

 

❓ 문제 4번

어떤 형식에 맞추어 시간이 입력될 때, 그대로 출력하는 연습을 해보자.

#include <stdio.h>

int main(void)
{
	int hour, min = 0;
	scanf_s("%d:%d", &hour, &min);
	printf("%d:%d", hour, min);

	return 0;
}

 

%d 안에는 공백이나 특수문자도 함께 넣을 수 있다. C++에서는 이런 게 어려웠던 걸로 기억하는데..


 

 

연월일 입력받아 출력 <1019번>

연월일 입력받아 그대로 출력하기

 

[기초-입출력] 연월일 입력받아 그대로 출력하기

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

 

❓ 문제 5번

년, 월, 일을 입력받아 지정된 형식으로 출력하는 연습을 해보자.

#include <stdio.h>

int main(void)
{
	int year, month, day = 0;

	scanf_s("%d.%d.%d", &year, &month, &day);
	printf("%04d.%02d.%02d", year, month, day);

	return 0;
}

 

연월일을 입력하면 그대로 출력하되, 숫자가 한 자리일 경우 0을 붙여 출력하는 문제이다. 사실 이 문제는 조금 어려웠다. 0이 출력되게 하려면 02,04 이런식으로 자릿수를 입력해야주야 한다는 것도 문제를 풀며 알게 되었다.


 

 

주민번호 입력받아 바꾸어 출력 <1020번>

주민번호 입력받아 형태 바꿔 출력하기

 

[기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

 

❓ 문제 6번

주민번호는 다음과 같이 구성된다.
XXXXXX-XXXXXXX
앞의 6자리는 생년월일(yymmdd)이고 뒤 7자리는 성별, 지역, 오류검출코드이다. 주민번호를 입력받아 형태를 바꿔 출력해보자.

#include <stdio.h>

int main(void)
{
	int fnum, bnum = 0;

	scanf_s("%d-%d", &fnum, &bnum);
	printf("%06d%07d", fnum, bnum);

	return 0;
}

 

6번 문제는 앞의 문제와 별반 다르지 않다. 주민번호의 앞의 0을 입력해도 그냥 출력하면 나오지 않으니, 0의 자릿수를 입력해주어야 한다.


 

 

 

오늘의 코딩 학습을 마치고

이렇게 코딩 테스트 문제까지 풀어보았다. 시간은 벌써 새벽 3시 반을 지나고 있다. 가끔 공부하며 이렇게 날을 새는 것도 괜찮은 것 같다.
오늘 푼 문제들은 별로 어렵지 않아서 풀이를 간단하게 적었다.

이 다음에 나오는 문제부터는 생각을 많이 해야 하는 난이도가 있는 문제여서 여기까지 풀어보았다. 한 포스트당 7문제 이상은 너무 많기도 하니까~