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

데이터 출력 3 - 입출력 코딩테스트 <코드업> 본문

알고리즘 및 자료 관리/알고리즘

데이터 출력 3 - 입출력 코딩테스트 <코드업>

huenuri 2024. 8. 24. 22:23
오늘은 연산자 관련 코딩테스트 문제를 풀어보려고 한다. 전에 한번 풀었던 문제인데 다시 풀려고 하면 잘 안될 때가 많다.
 
 

우선 지금 풀어볼 문제는 다음과 같이 분류할 수 있을 것 같다.

  1. 입출력
  2. 산술 연산
  3. 비교 · 논리 연산
  4. 비트시프트 · 비트 논리 연산
  5. 삼항연산자

 

출력 변환하는 문제도 있는데 이건 배열을 배워야 활용이 가능하므로 이 5가지만 학습해보려고 한다.



 

산술연산 문제 풀어보기

🎍 문제 1번 <1029번>

[실수 1개 입력받아 그대로 출력하기2

실수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 실수의 범위는 +- 1.710 -308 ~ +- 1.710 308이다.)

#include <stdio.h>

int main(void)
{
	double du;
	scanf_s("%lf", &du);
	printf("%.11lf", du);

	return 0;
}

 

lf로 바꾸어야 제대로 출력이 된다.



 

🎍 문제 2번 <1032번>

 

10진 정수 입력받아 16진수로 출력하기1

10진수를 입력받아 16진수(hexadecimal)로 출력해보자.

#include <stdio.h>

int main(void)
{
	int num;
	scanf_s("%d", &num);
	printf("%x", num);

	return 0;
}

 

서식지정자를 사용해 8진수, 16진수 등을 출력할 수 있다. x로 하면 소문자가, X는 대문자로 출력된다.



 

🎍 문제 3번 <1036번>

영문자 1개 입력받아 10진수로 출력하기

영문자 1개를 입력받아 아스키 코드표의 10진수 값으로 출력해보자.

#include <stdio.h>

int main(void)
{
	char ch;

	scanf_s("%c", &ch, (unsigned)sizeof(ch));
	printf("%d", ch);

	return 0;
}

 

문자를 입력할 때는 크기를 지정해주어야 하니 unsigned를 써주었다.



 

🎍 문제 4번 <1037번>

정수 입력받아 아스키 문자로 출력하기

 

 10진 정수 1개를 입력받아 아스키 문자로 출력해보자.
단, 0 ~ 255 범위의 정수만 입력된다.

#include <stdio.h>

int main(void)
{
	int num;

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

	return 0;

}

 

일반 숫자는 되지 않고 아스키코드의 숫자일 경우에 입력할 수 있다.



오늘의 첫번째 단원 학습을 마치고

입출력은 이제 많이 쉬운 문제가 되었다. 너무 쉬운 것은 제외하고 그래도 꼭 알아야 하는 문제를 선별해서 정리해보았다.

컴퓨터는 2진수밖에 읽지 못하므로 서식지정자를 통해 2진수를 정수, 실수, 문자 등으로 바꾸어주는 것이다.