아요 개발 일기

[프로그래머스] Level.1 문자열 내 마음대로 정렬하기 본문

Algorithms/문제 풀이

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

김망복 2023. 1. 17. 10:27
반응형

안녕하세요!

날씨가 바람이 쌩쌩 많이 부는 여,, 조금 춥네용,,, 🌬💨

감기 조심하시구! 오늘은 문자열 내 마음대로 정렬하기 문제를 풀어보겠습니다!!!


문제

 

풀이

 

 

여러 방향으로 풀어보다가.. 잘 안 풀려서 다른 분 풀이를 참고해서 풀었습니다....ㅜㅜ

strings 문자열의 n만큼 떨어진 곳을 index 상수에 저장해 줍니다.

strings 배열에있는 문자열들을 각 s1,s2에 차례대로 저장해주고, 

s1 문자열과 s2 문자열의 해당 index 위치를 비교하여 return 해줍니다.

값이 같으면 s1 < s2 로 정렬

이외에는 s1[index] < s2[index] 로 정렬

마지막으로 정렬된 값을 Result 상수에 저장해주면 끝!

 

 

func solution(_ strings:[String], _ n:Int) -> [String] {
    return strings.sorted{  Array($0)[n] == Array($1)[n] ? $0 < $1 :  Array($0)[n] < Array($1)[n] }
}

 

다른 풀이를 더 가져와봤습니다!

한줄로 아주 간단하네요!!!! 

strings 배열들의 처음 값($0)의 n번째 문자와 두번째 값($1)의 n번째 값이 같으면,

$0 < $1로 정렬

아니면 Array($0)[n] < Array($1)[n]로 정렬!

 

 

정확성 테스트

풀이 1
풀이 2

확실히 풀이 2가 삼항연산자랑 단축 문법이 들어가서 더 무겁네요!

이번 문제는 조금 힘들어서 고생했어요ㅠㅜㅠ

1레벨 문제 다 풀어가니까 혼자서 다시 한번 더 훑어보는 시간도 가져야겠습니다!ㅎㅎ

 

반응형