Day 12 - ์ฝ๋ฉํ ์คํธ ์ ๋ฌธ(Java)
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 (์ ๋ ฅ๋ ์์๋๋ก ๊ด๋ฆฌ)