1065286776877017
DURAIN
  • 2016.4.19 17:41
  • 조회수 75
  • 답변수 2
1065286776877017
DURAIN
  • 2016.4.19 17:41
  • 조회수 75
  • 답변수 2

힌트나 문제 풀이 부탁 드립니다.

compare_string[0][1], compare_string[1][1], compare_string[2][1]
n=1이라고 했을 때, 정렬해야할 리스트의 요소를 저렇게 일반화 시킬 수 있을 것 같습니다.
그런데 이걸 어떻게 표현해야 할지, 또 비교할 문자를 뽑아낸 후에 정렬하는 것이야
sort로 간단하게 한다지만 원래 그 문자의 위치를 어떻게 연결 시킬 지 전혀 감이 안오네요...
각 리스트의 인덱스 값으로 해결해야 할 것 같은데
너무 어렵게 생각하고 있나 하기도 하구요...

해결하신 분의 풀이를 부탁 드립니다.

strange_sort
def strange_sort(strings, n):
    '''strings의 문자열들을 n번째 글자를 기준으로 정렬해서 return하세요'''
    compare_string=strings[n]

    for i in len(strings):
        i += i
    return i

my_string=["sun", "bed", "car"]
print (strange_sort(my_string,0))
  • #파이썬 입문
  • #문자열 내 마음대로 정렬하기

2 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.4.19 19:43

    N번째 글자를 각 문자열 제일 앞에 붙이고 그 리스트를 정렬한 다음에 제일 앞 문자를 제거해보세요

    • 아... 감사합니다....-DURAIN
      2016.4.20 09:22
    • 풀리네요...정말 감사합니다.-DURAIN
      2016.4.20 10:21
  • 964772496938553
    정국영
    • 2016.5.3 01:56

    저는 이렇게 풀었습니다.

    def strange_sort(strings, n):

    for i in range(0,len(strings)):
        for j in range(i,len(strings)):
            if strings[i][n] > strings[j][n]:
                strings[i], strings[j] = strings[j], strings[i]
    
    return strings
    

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.