Question
Given a string, your task is to replace each of its characters by the next one in the English alphabet; i.e. replace a
with b
, replace b
with c
, etc (z
would be replaced by a
).
Example
- For
inputString = "crazy"
, the output should bealphabeticShift(inputString) = "dsbaz"
.
Input/Output
[execution time limit] 4 seconds (py3)
[input] string inputString
A non-empty string consisting of lowercase English characters.
Guaranteed constraints:
1 ≤ inputString.length ≤ 1000
.[output] string
- The resulting string after replacing each of its characters.
MY_ANSWER
def alphabeticShift(inputString):
answer = ""
for i in inputString:
if i == "z":
answer += "a"
else:
answer += chr(ord(i)+1)
return answer
- inputString이 들어오면 다음 자리의 알파벳으로 대체해주는 작업, 마지막 알파벳 z 다음에는 없기 때문에 처음 알파벳 a로 대체해준다.
- ord와 chr을 이용해 다음 문자로 넘어가는 것을 구현한다.
- 예를 들어, ord('a')는 97를 반환 뒤 1을 더하고 chr() 사용하여 a문자 다음 b문자를 반환한다.
Best_ANSWER
def alphabeticShift(inputString):
return ''.join((chr(ord(i)+1) if i!="z" else "a" for i in inputString))
- join과 list comprehension을 응용한 모습이다.