본문 바로가기
algorithm/Programmers

[JAVA] 문자열 정렬하기 (2)

by 이쟝 2023. 3. 20.

https://school.programmers.co.kr/learn/courses/30/lessons/120911

 

프로그래머스

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

programmers.co.kr

 

1. my_string을 char[ ] 형으로 만들어서 대문자일 때 해당하는 대문자를 소문자로 바꿔서 StringBuilder에 넣고, 다시 char[ ]로 만들어서 정렬!

1-1. 똑같은 데 StringBuilder를 쓰지 않고, char[ ]만 사용!

2. my_string을 toLowerCase()로 소문자로 변경 후 char[ ]형으로 만들어서 정렬!

 

1.

import java.util.Arrays;

class Solution {
    public String solution(String my_string) {
        StringBuilder sb = new StringBuilder();
        
        // my_string을 char[] 형로 만들어서 대문자일 때, 해당하는 대문자를 
        // 소문자로 바꿔서 StringBuilder에 넣기
        for(char ch : my_string.toCharArray()) {
            if(65 <= ch-0 && ch-0 <= 90) ch = (char)(ch+32);
            sb.append(ch);
        }
        
        // StringBilder를 char[] 형으로 만들어서 정렬하기
        char[] answer = sb.toString().toCharArray();
        Arrays.sort(answer);
        
        return String.valueOf(answer);
    }
}

import java.util.Arrays;

class Solution {
    public String solution(String my_string) {

        char[] answer = my_string.toCharArray();
        for(int i=0; i<answer.length;i++) {
            if(65 <= answer[i]-0 && answer[i]-0 <= 90) {
                answer[i] = (char)(answer[i]+32);
            } 
        }
       
        Arrays.sort(answer);
        return String.valueOf(answer);
    }
}

 

  • 두 방법 시간 차이는 그렇게 크게 나지는 않는데 어차피 정렬할 꺼라면 StringBuilder 안써도 될 것 같다..!
  • char+32 => 하면 해당 하는 문자의 소문자가 아니라 그 소문자의 int가 나온다. 만약 b면 98 (char) 붙여주기!

2. 

import java.util.*;
class Solution {
    public String solution(String my_string) {
        char[] c = my_string.toLowerCase().toCharArray();
        Arrays.sort(c);
        return String.valueOf(c);
    }
}

 

  • toLowerCase, toUpperCase말고도 다른 방법을 써보고 싶을 때는 for문 돌려돌려,,

'algorithm > Programmers' 카테고리의 다른 글

[JAVA] K의 개수  (0) 2023.03.20
[JAVA] A로 B 만들기  (0) 2023.03.20
[JAVA] 숫자 찾기  (0) 2023.03.20
[JAVA] 최댓값 만들기(2)  (0) 2023.03.20
[JAVA] n의 배수 고르기  (0) 2023.03.19