๋ฐ์ํ
Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ์ฐธ์กฐ ๋ณ์
- ์๋ฐ
- ์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ฝ๋ฉํ ์คํธ๋ค
- ๋ฐฑ์ค
- ์์ด
- ์ ํ ํฌ ํ์ด์ฌ
- 2BPerfect
- sql
- ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ
- ์ง ๊ฐ ์์ธก ๋ถ์
- ๋ธ๋ผ์ฐ์ ์คํ
- DFS
- Do it
- ๋ฐ์ค๊ทธ๋ํ
- ์ต์
- matplotlib
- MacOS
- ํ๋ก๊ทธ๋๋จธ์ค
- PYTHON
- java
- np.zeros_like
- BFS
- ํ์ ๋ณ์
- Do_it
- Extended Slices
- mysql
- dacon
- ํฉํ ๋ฆฌ์ผ ์ง๋ฒ
- ์ด์ง์ ๋ณํ
- jdbc
Archives
- Today
- Total
๐ฆ ๊ณต๋ฃก์ด ๋์!
[ํ๋ก๊ทธ๋๋จธ์ค] Java ์์์ฐพ๊ธฐ ๋ณธ๋ฌธ
import java.util.*;
class Solution {
ArrayList<Integer> answer;
boolean[] visited;
public int solution(String numbers) {
answer = new ArrayList<Integer>();
visited = new boolean[numbers.length()];
int[] nums = new int[numbers.length()];
for(int i = 0; i < nums.length; i++) {
nums[i] = Integer.parseInt(numbers.charAt(i)+"");
}
for(int i = 1; i <= numbers.length(); i++) {
int[] output = new int[i];
perm(nums, output, 0,nums.length, i);
}
return answer.size();
}
public boolean sosu(int num) {
if(num <= 1)return false;
if(num == 2 || num == 3)return true;
for(int i = 2; i <= Math.sqrt(num); i++) {
if(num % i == 0)return false;
}
return true;
}
public void perm(int[] nums, int[] output,int depth, int n, int r) {
if(depth == r) {
String answer2 = "";
for(int i = 0; i < output.length; i++) {
answer2 += output[i];
}
int num = Integer.parseInt(answer2);
if(sosu(num)) {
if(!answer.contains(num)) {
answer.add(num);
}
}
return;
}
for(int i = 0; i < nums.length; i++) {
if(!visited[i]) {
visited[i] = true;
output[depth] = nums[i];
perm(nums, output,depth+1, n, r);
output[depth] = 0;
visited[i] = false;
}
}
}
}
ArrayList<Integer> answer;
boolean[] visited;
public int solution(String numbers) {
answer = new ArrayList<Integer>();
visited = new boolean[numbers.length()];
int[] nums = new int[numbers.length()];
for(int i = 0; i < nums.length; i++) {// ๋ฌธ์์ด์ intํ์ผ๋ก ๋ณํ ํ ๋ฐฐ์ด
nums[i] = Integer.parseInt(numbers.charAt(i)+"");
}
for(int i = 1; i <= numbers.length(); i++) {
//์์ด์ ์ฌ์ฉํ์ฌ i์๋ฆฌ ์์ ArrayList์ ๋ฃ๊ธฐ
int[] output = new int[i];
perm(nums, output, 0,nums.length, i);
}
return answer.size(); // ์์ ๊ฐฏ์
}
public boolean sosu(int num) { // ์์ ์ฐพ๋ ๋ฉ์๋
if(num <= 1)return false;
if(num == 2 || num == 3)return true;
for(int i = 2; i <= Math.sqrt(num); i++) {// ์๋ผํ ์คํ
๋ค์ค์ ์ฒด๋ฅผ ํ์ฉ
if(num % i == 0)return false;
}
return true;
}
- ์๋ผํ ์คํ ๋ค์ค์ ์ฒด ํ์ฉํ ์์ ์ฐพ๋ ๋ฉ์๋ ๋ค๋ฅธ ver.
public boolean isPrime(int n){
if(n==0 || n==1) return false;
for(int i=3; i<=(int)Math.sqrt(n); i+=2){
if(n%i==0) return false;
}
return true;
}
public void perm(int[] nums, int[] output,int depth, int n, int r) {//visited ํ์ฉํ ์์ด
if(depth == r) {// r๊ฐ ๋ฝ๊ธฐ
String answer2 = "";
for(int i = 0; i < output.length; i++) {
answer2 += output[i];//int๋ฅผ stringํํ๋ก ๋ณํ
}
int num = Integer.parseInt(answer2);
if(sosu(num)) {
if(!answer.contains(num)) {
answer.add(num);
}
}
return;
}
for(int i = 0; i < nums.length; i++) {
if(!visited[i]) {
visited[i] = true;
output[depth] = nums[i];
perm(nums, output,depth+1, n, r);
output[depth] = 0;
visited[i] = false;
}
}
}
}
๋ฐ์ํ
'Development > CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๋น ์ฐ์ ํ์(BFS) (2) | 2021.12.28 |
---|---|
๊น์ด ์ฐ์ ํ์(DFS) (0) | 2021.12.27 |
[์์ด] Visited๋ฅผ ์ด์ฉํ ์์ด (0) | 2021.12.24 |
[์์ด] Swap์ ์ด์ฉํ ์์ด (0) | 2021.12.23 |
[๋ฐฑ์ค] Java ์ซ์์นด๋ 2 (0) | 2021.12.20 |
Comments