본문 바로가기

완전탐색3

[BOJ] 9742. 순열 (python / java) 백준 9742. 순열 (파이썬 / 자바) 9742번: 순열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 문자열은 서로 다른 숫자와 알파벳으로 이루어져 있으며, 길이는 최대 10이다. 또한, 사전 www.acmicpc.net 파이썬 EOF 어떻게하는지 아주 까먹었었다 입력이 정렬되어 주어져서 순열 구현만 하고 카운트만 제대로 해 주면 됨 def perm(r): global cnt if r == len(a): cnt += 1 if cnt == int(b): print(''.join(selected)) return for i in range(len(a)): if visited[i]: continue selected[r] = a[i] visited[i].. 2023. 3. 19.
[BOJ] 1759. 암호 만들기 (Python / Java) 백준 1759: 암호 만들기 (파이썬 / 자바) 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 정렬한 후 조합을 만들어 조합 안의 자음과 모음 개수를 센다 자바는 문자열 정렬을 할 줄 몰라서 아스키코드로 바꾼 후 정렬했음 파이썬 def combination(l, start): if l == L: v, c = 0, 0 for s in selected: if s in vowels: v += 1 else: c += 1 if v >= 1 and c >= 2: print(''.join(selected)) return fo.. 2023. 3. 17.
[Java] 완전탐색: 순열, 조합, 부분집합 1. 순열 public class Permutation { static char[] arr; static int R; // 만들 순열의 길이 static int[] selected; // 고른 값들의 인덱스를 저장하는 배열 (길이: R) /** * 중복 허용하는 경우 */ static void perm1(int r) {// r: 현재까지 고른 개수 if (r == R) { for (int i = 0; i < R; i++) System.out.print(arr[selected[i]]); System.out.println(); return; } for (int i = 0; i < arr.length; i++) { selected[r] = i; perm1(r + 1); } } /** * 중복 허용하지 않는 경.. 2023. 3. 16.
728x90