본문 바로가기
프로그래밍/CodeUp

CodeUp[Q_2023] : 엑셀의 열 순서

by 조원일 2020. 3. 17.
728x90

1. 문제

https://codeup.kr/problem.php?id=2023

 

엑셀의 열 순서

n이 입력된다. ( 1 <= n <= 999,999,999 )

codeup.kr

[출처 : 코드업(https://codeup.kr/)]

이번 문제는 어려워 보이지만 조금만 생각하면 10진법을 26진법으로 변환한다는것을 알수있다.

진법 변환하는 방법은 이전에 다뤘기 때문에 참고하길 바랍니다.

[프로그래밍/CodeUp] - CodeUp[Q_2017] : 진법 변환

 

 

2. 해답

#include <stdio.h>
#include <string.h>

void number_system(int num) {
	int tmp = num;
	int c = 0;
	char Arr[7];

	for (int i = 0; i < 7; i++) {
		if (tmp == 0) {
			break;
		}
		// A ~ Z가 26개이므로 26진법으로 변환
		Arr[i] = (char)(((tmp - 1) % 26) + 65);
		tmp = ((tmp - 1) / 26);
		c++;
	}
	for (int i = c - 1; i >= 0; i--) {
		printf("%c", Arr[i]);
	}
	printf("\n");
}

int main() {
	int num;

	scanf("%d", &num);

	number_system(num);

	return 0;
}

'프로그래밍 > CodeUp' 카테고리의 다른 글

CodeUp[Q_2025] : 좋은 날  (0) 2020.03.19
CodeUp[Q_2024] : 숫자를 한글로 변환  (7) 2020.03.18
CodeUp[Q_2020] : 아로마 수  (0) 2020.03.16
CodeUp[Q_2019] : 이차 방정식의 해  (0) 2020.03.15
CodeUp[Q_2018] : 개미 수열  (0) 2020.03.14