백준 알고리즘/입문&기본 (브론즈)

백준 입문 문제추천 1550 (풀이 및 응용)

공대 개구리 2022. 6. 2. 18:06
반응형

아무 것도 모르는 상태에서 백준을 시작하면서 기록을 남겨본다.

2021년 10월 5일, 기본적인 사칙연산 및 별찍기 정도를 할 수 있는 상태였다.

서식 지정자가 무엇인지 몰라서 하나씩 찾으면서 코딩을 시작하지만

23년 12월이 되었을 때는 내가 원하는 기능을 구현할 수 있기를 바란다.

코딩 입문을 하는 사람들을 위해 남겨둔다.

 

그리고 처음 코딩을 공부하는 사람들에게 도움이 될까하여서

백준 입문 또는 백준 초보들을 위한 문제들을 골라서 응용까지 남겨둘까 한다.

기본기를 만드는 시간을 기록해볼까 한다.

내가 걷는 길이 코딩 입문의 초석이 될 수 있으면 좋겠다.

 

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

 

1550번: 16진수

첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다.

www.acmicpc.net

#define _CRT_SECURE_NO_WARNINGS // 비쥬얼 스튜디오에서 scanf_s 대신 표준화된 scanf 사용을 위함
#include<stdio.h>

int main()
{
	int input;
	scanf("%X", &input); // 대문자 16진수로 입력받음
	printf("%d", input); // 10진수로 출력
	return 0;
}

사용된 큰 개념들

입출력 관련 기능

서식 지정자


문제를 풀기 위해서 공부한 것들

 

1) 8진수와 16진수를 출력하는 방법

 

일반적인으로 우리 눈에 보이는 방법은 10진수다. ( 자릿수당 0~9를 이용해서 표시)

그렇다면, 10진수를 8진수 또는 16진수로 바꾸는 방법은 어떻게 해야할까?

방법은 서식 지정자를 사용하면 된다.

 

%d : 10진수  

%o : 8진수

%x : 16진수

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int input;
	scanf("%d", &input); // 10진수를 입력받아서
	printf("16진수로는 %X, 8진수로는 %o입니다.", input, input); // 16진수와 8진수로 표현
	return 0;
}

접두사도 함께 출력하기 위해서는 %#o, %#x, %#X 지정자를 사용하면 된다.

 

%#o : 8진수이면 앞에 0을 붙임

%#x : 6진수 소문자 출력이면 앞에 0x를 붙임

%#X1 : // 16진수 대문자 출력이면 앞에 0X를 붙임

 

 

2) 서식 지정자 정리표