## 의사코드 ### 입력: 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
whileTrue:
n, m = map(int, input()[1:].split('C'))
if n == 0and m == 0:
breakelse:
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
"""