MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

πŸƒ‍♀️programmers/Java

Λšβ‚Šβœ©β€§β‚Š ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ java - ν•œ 번만 λ“±μž₯ν•œ 문자 Λšβ‚Šβœ©β€§β‚Š

HYEJU01 2024. 5. 28. 11:10
체감 Level : β˜…β˜…β˜†
Review:  λ¬Έμžμ—΄ - 문자 - λ°°μ—΄ λ³€ν™˜μ΄ 쑰금 번거둜울 수 μžˆκ² λ‹€. (계속 ν˜•λ³€ν™˜μ„ ν•΄μ€˜μ•Όν–ˆλ‹€ γ… γ… )
μ•„μŠ€ν‚€μ½”λ“œλ₯Ό μ΄μš©ν•œ μΉ΄μš΄νŒ… 방법도 살짝 λ²ˆκ±°λ‘œμ› λ‹€.
κ·Έμ „μ—” μ•„μŠ€ν‚€μ½”λ“œ μ΄μš©ν•˜λŠ”κ²Œ μ € λ¨Έλ¦¬μ•„νŒ λŠ”λ° 이젠 쑰금 μ΅μˆ™ν•΄μ§„ 것 κ°™λ‹€! μž¬λ°Œμ„μ§€λ„ 😏

 

πŸ’‘ sμ—μ„œ ν•œ 번만 λ“±μž₯ν•˜λŠ” 문자λ₯Ό 사전 순으둜 μ •λ ¬ν•˜λŠ” 문제.

 

이 경우 λ¬Έμžμ—΄μ—μ„œ ν•œλ²ˆ λ“±μž₯ν•˜λŠ” κ±Έ μ•Œμ•„λ‚΄λ €λ©΄

μ†Œλ¬Έμž ν•˜λ‚˜ν•˜λ‚˜ μΉ΄μš΄νŒ…μ„ ν•΄μ•Ό λͺ‡κ°œκ°€ λ‚˜μ™”λŠ”μ§€ 확인이 κ°€λŠ₯ν•˜λ‹€.

1) μ†Œλ¬Έμž 개수의 배열을 생성 (크기 : 26)

2) μ†Œλ¬Έμž ν•˜λ‚˜ν•˜λ‚˜ λŠμ–΄κ°€λ©° (s.substring(i,i+1)) / λ¬Έμžμ—΄μ— ν¬ν•¨λ˜μ–΄μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.

ν¬ν•¨λ˜μ–΄μžˆλ‹€λ©΄ -> ν•΄λ‹Ή μ†Œλ¬Έμžμ˜ - 97 ν•œ κ°’μ˜ 배열을 μΉ΄μš΄νŒ…ν•΄μ€€λ‹€.

λ„μ‹ν™”ν•˜λ©΄ μ΄λŸ°λŠλ‚Œμ΄λ‹€. μ•„μŠ€ν‚€μ½”λ“œκ°’μ„ μ΄μš©ν•΄μ„œ μ†Œλ¬Έμžλ₯Ό λ°°μ—΄ μΈλ±μŠ€μ— λŒ€μΉ­μ‹œμΌœμ£Όμ—ˆλ‹€.

 

3) 이후 cnt κ°€ 1인 값을 μ°Ύμ•„μ£Όκ³  배열에 μ‚½μž…ν•΄μ€€λ‹€.

4) 배열을 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•΄μ€€λ’€

5) λ§ˆμ§€λ§‰μœΌλ‘œ λ°°μ—΄ μƒνƒœμΈ 값을 λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•΄μ€€λ‹€.

 

 

 πŸ’¬  String.join("", strList) : 리슀트의 λͺ¨λ“  μš”μ†Œλ₯Ό ν•˜λ‚˜μ˜ λ¬Έμžμ—΄λ‘œ κ²°ν•©

 πŸ’¬  Collections.sort(str);  : 리슀트 μ •λ ¬ (동적배열 μ •λ ¬)

import java.util.ArrayList;
import java.util.Collections;

class Solution {
    public String solution(String s) {
        String answer = "";
        ArrayList <String> str = new ArrayList<>();
        int[] cnt = new int[26];
        
        for (int i = 0; i < s.length(); i++){
            if (s.contains(s.substring(i,i+1))){
               cnt[s.charAt(i)-97]++;
            }
        }
        
        for (int i = 0; i<cnt.length; i++){
           if (cnt[i] == 1){
               char ch = (char)(i+97);
               str.add(String.valueOf(ch));
           }
        }
        
        Collections.sort(str); // 동적 λ°°μ—΄ μ •λ ¬
        answer = String.join("", str);
        
        
        return answer;
    }
}