티스토리 뷰

로또 문제는 백트래킹을 이용해서 해결합니다. 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Problem6603 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuffer sb = new StringBuffer();
while (true) {
String str = br.readLine();
if (str.equals("0"))
break;
else {
String result = lotto(str);
sb.append(result).append("\n");
}
}
System.out.println(sb.toString());
}
public static String lotto(String str) {
StringBuffer sb = new StringBuffer();
pick(sb, "", str.split(" "), 0, 0);
return sb.toString();
}
public static void pick(StringBuffer sb, String str, String[] strs, int index, int length) {
if (length == 6) {
sb.append(str).append("\n");
return;
}
for (int i = index + 1; i < strs.length; i++) {
if (length == 0) {
pick(sb, strs[i], strs, i, length + 1);
} else {
pick(sb, str + " " + strs[i], strs, i, length + 1);
}
}
}
}
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준][그리디] 11399 ATM  (0) 2019.09.23
[백준][DP] 11727 2Xn 타일링 2  (0) 2019.07.23
[백준][삼성SW검정] 14890 경사로  (0) 2019.04.08
[백준] 1260 DFS와 BFS  (0) 2019.04.02
[백준][삼성SW검정] 14500 테트로미노  (0) 2019.03.25
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
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
글 보관함