a = 0
b = 1
c = 2
...
j = 9
로 변환해주면 되는 문제로 정말 간단하게 구현했다
당연하게 for문 돌리고 answer += 문자열
이런식으로 풀었는데 다른 사람이 한 줄로 제출한 것을 보고 약간 현타가 왔다.
리스트로 만들어서 join으로 문자열을 만드는 방식인데, 파이썬으로 가장 쉬운 방법이지만 항상 놓치는 방법이다.................................................................................................... 우럭..............................
return ''.join([chr(int(i)+97) for i in str(age)])
위 방법으로는 굳이 answer 변수를 만들지 않아도 되고, += 연산도 필요없다.. 한 줄로 간단히 풀 수 있다^^,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
심지어 replace() 함수를 사용해서도 할 수 있다.................... 말 그대로 변환이니까악......(대신 0부터 9까지 변환할 값을 모두 입력해줘야함)
^^....................................................
++) 충격
python str에 translate/maketrans 라는 함수가 있다.......
maketranse로 문자열 매핑 테이블을 만들고, translate함수가 매핑 테이블을 기반으로 문자열을 변환해줌.................. 충격
return str(age).translate(str.maketrans('0123456789', 'abcdefghij'))
def solution(age):
answer = ''
for i in str(age):
answer += chr(int(i) + 97)
return answer
def solution(age):
return ''.join([chr(int(i)+97) for i in str(age)])
def solution(age):
age = str(age)
age = age.replace("0", "a")
age = age.replace("1", "b")
age = age.replace("2", "c")
age = age.replace("3", "d")
age = age.replace("4", "e")
age = age.replace("5", "f")
age = age.replace("6", "g")
age = age.replace("7", "h")
age = age.replace("8", "i")
age = age.replace("9", "j")
return age
def solution(age):
return str(age).translate(str.maketrans('0123456789', 'abcdefghij'))