상세 컨텐츠

본문 제목

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

코딩테스트 연습

by 박집실 2023. 8. 8. 00:51

본문

코딩테스트 연습 - 문자열 내 마음대로 정렬하기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

정리:

-Comparator 클래스를 활용해서 오버라이딩해서 푸는 문제였다. 정렬 연습할 때 좋은 문제이다.

 

 

import java.util.*;
class Solution {
    public String[] solution(String[] strings, int n) {
        Arrays.sort(strings, new Comparator<String>(){
            @Override
            public int compare(String a, String b){
                if(a.charAt(n) != b.charAt(n))
                return (String.valueOf(a.charAt(n))).compareTo(String.valueOf(b.charAt(n)));
                else 
                    for(int i = 0; i < Math.min(a.length(), b.length()); i++) {
                        if(a.charAt(i) != b.charAt(i))
                            return (String.valueOf(a.charAt(i))).compareTo(String.valueOf(b.charAt(i)));
                    }
                return (String.valueOf(a.charAt(n))).compareTo(String.valueOf(b.charAt(n)));
            }
        });
        return strings;
    }
}
정확성 테스트
테스트 1 통과 (0.40ms, 79.9MB)
테스트 2 통과 (0.52ms, 74.8MB)
테스트 3 통과 (0.50ms, 73.4MB)
테스트 4 통과 (0.68ms, 66MB)
테스트 5 통과 (0.53ms, 81.3MB)
테스트 6 통과 (0.59ms, 74.8MB)
테스트 7 통과 (0.43ms, 74.6MB)
테스트 8 통과 (0.52ms, 75.1MB)
테스트 9 통과 (0.50ms, 76.2MB)
테스트 10 통과 (1.13ms, 77.3MB)
테스트 11 통과 (0.48ms, 79MB)
테스트 12 통과 (0.90ms, 74.9MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0

관련글 더보기