<로직 고민>
- 음.. for문을 돌려서 하나씩 lower()로 변환시켜서 붙여주고
- 정렬시키려면 리스트로 바꿔야겠네...
- 리스트로 바꿔서 정렬하고 ''.join()으로 리턴하면 될 듯
def solution(my_string):
answer = ''
for st in my_string:
answer += st.lower()
list_answer = list(answer).sort()
return ''.join(list_answer)
- 흠..이렇게 하니까 오류 뜨네
- TypeError: can only join an iterable
- list_answer가 문제인 것 같아 프린트해봤다
- None이 나오는군....
- sort()는 변수에 넣는 게 아니라 그냥 그 자체를 정렬하는 거라 그런가?
def solution(my_string):
answer = ''
for st in my_string:
answer += st.lower()
list_answer = list(answer)
list_answer.sort()
return print(list_answer)
print(solution("Bcad"))
print(solution("heLLo"))
print(solution("Python"))
- 이렇게 하고 찍어보니
['a', 'b', 'c', 'd']
None
['e', 'h', 'l', 'l', 'o']
None
['h', 'n', 'o', 'p', 't', 'y']
None
- 이렇게 나온다...흠....쨌든 정렬은 됐군 이제 join하면 될 듯
def solution(my_string):
answer = ''
for st in my_string:
answer += st.lower()
list_answer = list(answer)
list_answer.sort()
return ''.join(list_answer)
print(solution("Bcad"))
print(solution("heLLo"))
print(solution("Python"))
# 출력화면
# abcd
# ehllo
# hnopty
- 오 완성
- 근데 뭔가 코드를 줄이고 싶은걸
def solution(my_string):
answer = ''
for st in my_string:
answer += st.lower()
list(answer).sort()
return ''.join(list(answer))
- 이게 최선인 듯 근데 시간복잡도가 크게 차이나지 않으니 무의미한 수정인 거 같기도 하고 ㅋㅋ
- sorted() 쓰려면 이렇게도 되고
def solution(my_string):
answer = ''
for st in my_string:
answer += st.lower()
list_answer = sorted(list(answer))
return ''.join(list_answer)
- 전자가 맘에 든다!
- 엥 근데 답안지에 넣어보니 위에 코드는 실패고 아래 코드는 성공이다 왜지..?
- vscode에서 돌리면 둘 다 값이 제대로 나오는데 뭐징...
<완성된 코드>
def solution(my_string):
answer = ''
for st in my_string:
answer += st.lower()
list_answer = sorted(list(answer))
return ''.join(list_answer)
print(solution("Bcad"))
print(solution("heLLo"))
print(solution("Python"))
# 출력화면
# bcad
# hello
# python
<다른 사람 풀이>
- 천재풀이1
def solution(my_string):
return ''.join(sorted(my_string.lower()))
- for문 돌릴 필요도 없구나......ㅋㅋㅋㅇㅋ.....
- 천재풀이2
def solution(my_string):
answer = []
for i in my_string:
if ord(i) >= ord('A') and ord(i) <= ord('Z'):
answer.append(chr(ord(i)+32))
else:
answer.append(i)
return ''.join(sorted(answer))
- 이 풀이는 댓글이 인상깊다
- 여기 가져오긴 귀찮지만 다들 쉽게들 잘 풀었다 ...