첫번째 코드
디버깅으로 한 문장만 바꾸며 되는 문제로 문제에 해당 하는 코드는 대부분 작성되어 있다.
내가 집중한 곳은 문자의 길이를 맞추는 부분이다.
문자가 8자리보다 긴 경우는 8까지 보는 것으로 문제가 되지 않으나,
문자가 4자리보다 짧은 경우 4자리가 될 떄까지 문자열을 추가해야 한다.
하지만 코드상으로는 'o' 하나만 추가하는 것을 볼 수 있다.
즉, 만약 문자의 길이가 1이라면 'ooo'를 추가해야 하지만 현재의 코드는 'o'만 추가한다는 것이다.
그러므로 부족한 길이의 차이를 구한 후 해당 길이만큼 문자열을 추가한다.
def solution(nickname):
answer = ""
for letter in nickname:
if letter == "l":
answer += "I"
elif letter == "w":
answer += "vv"
elif letter == "W":
answer += "VV"
elif letter == "O":
answer += "0"
else:
answer += letter
if len(answer) < 3:
answer += "o" * (4 - len(answer))
if len(answer) > 8:
answer = answer[:8]
return answer
통과!
링크