Algorithm/BruteForce

BOJ#6603 로또

밤이2209 2017. 9. 10. 00:48

BOJ#6603 로또


* 문제

https://www.acmicpc.net/problem/6603


* 풀이

주어진 숫자에서 6개의 숫자를 고르는 문제입니다.


간단히 조합을 돌려서 해결했습니다.


각각의 숫자에 대하여 뽑는 경우, 뽑지 않는 경우로 나누고

잘뽑은 경우에만 출력을 했습니다.




* 나의 코드

https://github.com/stack07142/BOJ/blob/master/BOJ%236603/src/Main.java


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

public static void main(String[] args) throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

while (true) {

String inputLine = br.readLine();

if (inputLine.equals("0")) break;

StringTokenizer st = new StringTokenizer(inputLine);

int k = Integer.parseInt(st.nextToken());

int[] S = new int[k];
for (int i = 0; i < k; i++) {

S[i] = Integer.parseInt(st.nextToken());
}

printCombination(k, S, 0, 6, "");
System.out.println();
}
}

static void printCombination(int k, int[] S, int idx, int N, String s) {

if (N == 0) {

System.out.println(s);
} else if (idx >= k) {

return;
} else {

// 뽑는 경우
printCombination(k, S, idx + 1, N - 1, s + S[idx] + " ");

// 뽑지 않는 경우
printCombination(k, S, idx + 1, N, s);

}
}
}


'Algorithm > BruteForce' 카테고리의 다른 글

BOJ#14391 종이 조각  (0) 2017.09.29
BOJ#2309 일곱 난쟁이  (0) 2017.07.05