[프로그래머스_Lv1] 문자열 내 마음대로 정렬하기

ybk·2025년 2월 12일
0

프로그래머스

목록 보기
239/245

Lv.1) 문자열 내 마음대로 정렬하기


문제 설명 📝


입출력 예시 📌

stringsnreturn
["sun", "bed", "car"]1["car", "bed", "sun"]
["abce", "abcd", "cdx"]2["abcd", "abce", "cdx"]

코드 풀이 💡

def solution(strings, n):
	strings.sort()
    return sorted(strings, key=lambda x: x[n])

🔍 코드 설명

  • strings 리스트를 오름차순으로 먼저 정렬 후 n번째 인덱스 기준으로 다시 정렬합니다.
  • key : 정렬할 값을 변환하는 함수 작성
  • lambda x: x[n] : n번째 문자 반환

다른 사람의 풀이 ✨

# 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
# 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
def strange_sort(strings, n):
    '''strings의 문자열들을 n번째 글자를 기준으로 정렬해서 return하세요'''

    min = []
    result = []
    for i in strings:
        min.append(i[n])
        sorted_min = sorted(min)

    while len(result) != len(strings):
        for j in range(0, len(strings)):
            for k in range(0, len(strings)):
                if sorted_min[j] in strings[k][n]:
                    index = k
                    result.append(strings[index])
                    continue

    return result


# 아래는 테스트로 출력해 보기 위한 코드입니다.s
print(strange_sort(["sun", "bed", "car"], 1))

✅ 다른 풀이의 특징

  • n번째 글자 정렬를 먼저 한 후에 그에 해당하는 문자열 정렬를 합니다.

🔗 프로그래머스 문제 링크

profile
개발자 준비생~

0개의 댓글

관련 채용 정보