티스토리 뷰

Algorithm/BOJ

백준 1550번 C++

poopooreum 2023. 7. 24. 14:49
반응형

백준 1550번 16진수
https://www.acmicpc.net/problem/1550

1550번: 16진수

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

www.acmicpc.net





정답 코드

#include<iostream>
#include<cstring>
using namespace std;
int main() {
	char a[7];
	
	cin >> a;
	
	int sum = 0,flag=1;
	for (int x = 0; x < strlen(a) / 2; x++) {
		swap(a[x],a[strlen(a) - x - 1]);
	}
	for (int x = 0; x < strlen(a); x++) {
		if (a[x] == 'A') {
			sum += flag * 10;
			flag*=16;
		}
		else if (a[x] == 'B') {
			sum += flag * 11;
			flag*=16;
		}
		else if (a[x] == 'C') {
			sum += flag * 12;
			flag*=16;
		}
		else if (a[x] == 'D') {
			sum += flag * 13;
			flag*=16;
		}
		else if (a[x] == 'E') {
			sum += flag * 14;
			flag*=16;
		}
		else if (a[x] == 'F') {
			sum += flag * 15;
			flag*=16;
		}
		else {
			sum += flag * (a[x] - 48);
			flag*=16;
		}
	}
		cout << sum;
}


문제 풀이
16진수를 10진수로 출력하는 문제입니다. 16진수는 1~15까지를 사용하며 10~15는 A~F로 사용합니다.

반응형

'Algorithm > BOJ' 카테고리의 다른 글

백준 1620번 C++  (0) 2023.07.24
백준 1600번 C++  (0) 2023.07.24
백준 1546번 C++  (0) 2023.07.24
백준 1476번 C++  (0) 2023.07.24
백준 1463번 C++  (0) 2023.07.24
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함