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

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

KASSIA 2024. 3. 2. 23:15

1. ์˜์–ด๊ฐ€ ์‹ซ์–ด์š”

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

 

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

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

programmers.co.kr

โ–ผ ๋ฐฉ๋ฒ• 1

class Solution {
    public long solution(String numbers) {
        long answer = 0;
        
        answer = Long.parseLong(
            numbers.replace("zero", "0")
                   .replace("one", "1")
                   .replace("two", "2")
                   .replace("three", "3")
                   .replace("four", "4")
                   .replace("five", "5")
                   .replace("six", "6")
                   .replace("seven", "7")
                   .replace("eight", "8")
                   .replace("nine", "9")
        );
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 2

class Solution {
    public long solution(String numbers) {
        long answer = 0;
        String[] numberList = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        
        for(int i = 0; i < numberList.length; i++) {
            numbers = numbers.replace(numberList[i], String.valueOf(i));
        }
        
        answer = Long.parseLong(numbers);
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 3

import java.util.Map;
import java.util.HashMap;

class Solution {
    public long solution(String numbers) {
        long answer = 0;
        Map<String, String> map = new HashMap<>();
        
        map.put("zero", "0");
        map.put("one", "1");
        map.put("two", "2");
        map.put("three", "3");
        map.put("four", "4");
        map.put("five", "5");
        map.put("six", "6");
        map.put("seven", "7");
        map.put("eight", "8");
        map.put("nine", "9");
        
        for(String key : map.keySet()) {
            numbers = numbers.replace(key, map.get(key));
        }
        
        answer = Long.parseLong(numbers);
        
        return answer;
    }
}

 

2. ์ธ๋ฑ์Šค ๋ฐ”๊พธ๊ธฐ

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

 

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

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

programmers.co.kr

โ–ผ ๋ฐฉ๋ฒ• 1

class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";
        
        for(int i = 0; i < my_string.length(); i++) {
            if(i == num1) {
                answer += my_string.charAt(num2);
            } else if(i == num2) {
                answer += my_string.charAt(num1);
            } else {
                answer += my_string.charAt(i);
            }
        }
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 2

class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";
        String[] arr = my_string.split("");
        String temp = "";
        
        temp = arr[num1];
        arr[num1] = arr[num2];
        arr[num2] = temp;
        
        answer = String.join("", arr);
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 3

import java.util.List;
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.Collections;

class Solution {
    public String solution(String my_string, int num1, int num2) {
        String answer = "";
        List<String> list = Arrays.stream(my_string.split("")).collect(Collectors.toList());
            
        Collections.swap(list, num1, num2);
        
        answer = String.join("", list);
        
        return answer;
    }
}
Collections.swap()
List ์•ˆ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

 

3. ํ•œ ๋ฒˆ๋งŒ ๋“ฑ์žฅํ•œ ๋ฌธ์ž

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

 

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

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

programmers.co.kr

โ–ผ ๋ฐฉ๋ฒ• 1

class Solution {
    public String solution(String s) {
        String answer = "";
        int[] alphabet = new int[26];
        
        for(char c : s.toCharArray()) {
            alphabet[c - 'a']++;
        }
        
        for(int i = 0; i < alphabet.length; i++) {
            if(alphabet[i] == 1) {
                answer += (char) (i + 'a');
            }
        }
        
        return answer;
    }
}

 

โ–ผ ๋ฐฉ๋ฒ• 2

import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.Map;

class Solution {
    public String solution(String s) {
        String answer = "";
        
        answer = Arrays.stream(s.split(""))
                       .collect(Collectors.groupingBy(alphabet -> alphabet))
                       .entrySet()
                       .stream()
                       .filter(count -> count.getValue().size() == 1)
                       .map(Map.Entry::getKey)
                       .sorted()
                       .collect(Collectors.joining());
        
        return answer;
    }
}

 

4. ์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ

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

 

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

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

programmers.co.kr

โ–ผ ๋ฐฉ๋ฒ• 1

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

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

 

โ–ผ ๋ฐฉ๋ฒ• 2

import java.util.stream.IntStream;

class Solution {
    public int[] solution(int n) {
        int[] answer = {};
        
        answer = IntStream.rangeClosed(1, n).filter(i -> n % i == 0).toArray();
        
        return answer;
    }
}