반응형
Recent Posts
Notice
Recent Comments
Link
250x250
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

지식창고

[Java]LeetCode 791. Custom Sort String 본문

Algorithm/Leetcode

[Java]LeetCode 791. Custom Sort String

junz 2022. 12. 24. 21:30
728x90
반응형

Leetcode 791. Custom Sort String  -  Java

 

문제 :

s에 있는 문자열을 order 기준으로 정렬

 

Input: order = "cba",  s = "abcd" 
Output: "cbad"

 


문자열 s 에서 각 알파벳이 몇 번 나왔는지 count 배열에 저장해 관리한다.

int[] cnt = new int[128];
for(char ch : s.toCharArray()) {
            cnt[ch]++;
}

 


 

정렬의 기준이 되는 문자열 order에 알파벳을 빠짐없이 들어갈 수 있도록 더해준다.

order += "abcdefghijklmnopqrstuvwxyz";

 


 

Output을 저장할 변수 result를 선언한다.

order를 기준으로 cnt 배열을 확인하며 결과 값에 저장한다.

for(char ch : order.toCharArray()){
    while(cnt[ch]-- > 0) {
        result.append(ch);
    }
}

 


결  과

class Solution {
    public String customSortString(String order, String s) {
        int[] cnt = new int[128];
        StringBuilder result = new StringBuilder();

        for(char ch : s.toCharArray()){ // 목표 문장 저장
            cnt[ch]++;
        }

        order += "abcdefghijklmnopqrstuvwxyz";

        for(char ch : order.toCharArray()){
            while(cnt[ch]-- > 0){
                result.append(ch);
            }
        }

        return result.toString();
    }
}
728x90
반응형
Comments