## 의사코드 ##
# 입력: RnCm
# n, m = map(int, input()[1:].split('C'))
# 자릿수의 값 = 열의 값을 26으로 나눈 나머지
# 자릿수의 값 = m % 26
# 다음 자릿수 = 기존 열의 값을 26으로 나눈 몫 -1
# m = (m // 26) - 1
# 리스트의 0번째 인덱스에 자릿수의 값 삽입
# li.insert(0, 자릿수의 값)
# A-Z 대문자 리스트
# from string import ascii_uppercase
# list(ascii_uppercase)
# 엑셀 스프레드시트 상에서의 열
# = 리스트에 저장된 자릿수의 값을 대문자 리스트의 인덱스 값으로 넣어서 문자로 변환
# 열 + 행
# print(열 + str(n))
통과한 코드
from string import ascii_uppercase
while True:
n, m = map(int, input()[1:].split('C'))
if n == 0 and m == 0:
break
else:
m -= 1
# A-Z 대문자 리스트
alpha = list(ascii_uppercase)
# 열에 해당하는 값을 저장할 리스트
li = []
while m >= 0:
# 자릿수의 값 = 열의 값을 26으로 나눈 나머지
col = m % 26
# 다음 자릿수 = 기존 열의 값을 26으로 나눈 몫 -1
m = (m // 26) - 1
# 리스트의 0번째 인덱스에 자릿수의 값 삽입
li.insert(0, col)
res = ''
# 리스트에 저장된 자릿수의 값을 대문자 리스트의 인덱스 값으로 넣어 문자로 변환
for c in li:
res += alpha[c]
# 열 + 행
print(res + str(n))
과정 확인
'R52C52'
"""
n: 52, m: 52
m-1: 51
m % 26: 25
(m // 26) - 1: 0
li: [25]
m % 26: 0
(m // 26) - 1: -1
li: [0, 25]
c: 0
alpha[c]: A
res: A
c: 25
alpha[c]: Z
res: AZ
AZ52
"""