Day 15 - ์ฝ๋ฉํ ์คํธ ์ ๋ฌธ(Java)
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;
}
}