์ฝ”๋”ฉํ…Œ์ŠคํŠธ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

Day 12 - ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ(Java)

KASSIA 2024. 3. 2. 23:12

1. ๋ชจ์Œ ์ œ๊ฑฐ

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

class Solution {
    public String solution(String my_string) {
        String answer = "";
        
        answer = my_string.replaceAll("[aeiou]", "");
        
        return answer;
    }
}
์ •๊ทœํ‘œํ˜„์‹ [ ] : ๋Œ€๊ด„ํ˜ธ ์•ˆ์— ํฌํ•จ๋œ ๋ฌธ์ž ์ค‘ ํ•˜๋‚˜์™€ ์ผ์น˜

 

2. ๋ฌธ์ž์—ด ์ •๋ ฌํ•˜๊ธฐ (1)

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

โ–ผ ๋ฐฉ๋ฒ• 1

import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;

class Solution {
    public int[] solution(String my_string) {
        int[] answer = {};
        List<Integer> answerList = new ArrayList();
        
        for(char c : my_string.toCharArray()) {
            if(c >= '0' && c <= '9') {
                answerList.add(c - '0');
            }
        }
        
        answer = answerList.stream().mapToInt(i -> i).toArray();
        
        Arrays.sort(answer);
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 2

import java.util.Arrays;

class Solution {
    public int[] solution(String my_string) {
        my_string = my_string.replaceAll("[a-z]", "");
        
        int[] answer = new int[my_string.length()];
        
        for(int i = 0; i < my_string.length(); i++) {
            answer[i] = my_string.charAt(i) - '0';
        }
        
        Arrays.sort(answer);
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 3

import java.util.Arrays;

class Solution {
    public int[] solution(String my_string) {
        int[] answer = {};
        
        answer = Arrays.stream(my_string.replaceAll("[a-z]", "").split("")).sorted().mapToInt(Integer::parseInt).toArray();
        
        return answer;
    }
}

 

3. ์ˆจ์–ด์žˆ๋Š” ์ˆซ์ž์˜ ๋ง์…ˆ (1)

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

โ–ผ ๋ฐฉ๋ฒ• 1

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        
        for(char c : my_string.toCharArray()) {
            if(c >= '0' && c <= '9') {
                answer += c - '0';
            }
        }
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 2

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        
        my_string = my_string.replaceAll("[A-Z|a-z]", "");
        
        for(char c : my_string.toCharArray()) {
            answer += c - '0';
        }
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 3

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        
        my_string = my_string.replaceAll("[^0-9]", "");
        
        for(char c : my_string.toCharArray()) {
            answer += Character.getNumericValue(c);
        }
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 4

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        
        answer = my_string.chars().mapToObj(i -> (char) i).filter(Character::isDigit).map(String::valueOf).mapToInt(Integer::valueOf).sum();
        
        return answer;
    }
}

 

4. ์†Œ์ธ์ˆ˜๋ถ„ํ•ด

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

โ–ผ ๋ฐฉ๋ฒ• 1

import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;

class Solution {
    public int[] solution(int n) {
        int[] answer = {};
        List<Integer> answerList = new ArrayList<>();
        
        for(int i = 2; i <= n; i++) {
            if(n % i == 0) {
                answerList.add(i);
                
                while(n % i == 0) {
                    n /= i;
                }
            }
        }
        
        answer = answerList.stream().mapToInt(i -> i).toArray();
        
        Arrays.sort(answer);
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 2

import java.util.Set;
import java.util.LinkedHashSet;

class Solution {
    public int[] solution(int n) {
        int[] answer = {};
        Set<Integer> answerSet = new LinkedHashSet<>();
        int i = 2;
        
        while(n != 0 && i <= n) {
            if(n % i == 0) {
                answerSet.add(i);
                
                n /= i;
            } else {
                i++;
            }
        }
        
        answer = answerSet.stream().mapToInt(Integer::new).toArray();
        
        return answer;
    }
}
Set์˜ ๊ตฌํ˜„ ํด๋ž˜์Šค : HashSet, TreeSet, LinkedHashSet
1. HashSet : ์ค‘๋ณต๋œ ์š”์†Œ ์ €์žฅ X, ์ˆœ์„œ ์œ ์ง€ X
2. TreeSet : ์ค‘๋ณต๋œ ์š”์†Œ ์ €์žฅ X, ์ˆœ์„œ ์œ ์ง€ X, ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ O
3. LinkedHashSet : ์ค‘๋ณต๋œ ์š”์†Œ ์ €์žฅ X, ์ˆœ์„œ ์œ ์ง€ O (์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ๊ด€๋ฆฌ)