-
[프로그래머스] 단체사진 찍기 (2017 카카오코드 본선)ALGORITHM/PROGRAMMERS 2021. 8. 7. 21:25
https://programmers.co.kr/learn/courses/30/lessons/1835
2021-08-07
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950class Solution {static String[] arr = {"A", "C", "F" , "J", "M", "N", "R", "T"};static String[] da;static boolean[] vtd;static int answer;static boolean check(String str) {for(int i = 0; i < da.length; i++) {String a = String.valueOf(da[i].charAt(0));String b = String.valueOf(da[i].charAt(2));String op = String.valueOf(da[i].charAt(3));int num = Character.getNumericValue(da[i].charAt(4));int cal = Math.abs(str.indexOf(a) - str.indexOf(b)) - 1;switch (op) {case "=":if(cal != num) return false;break;case ">":if(cal <= num) return false;break;case "<":if(cal >= num) return false;break;}}return true;}static void solve(String str, int cnt) {if(cnt == arr.length) {if(check(str)) answer++;return;}for(int i = 0; i < arr.length; i++) {if(!vtd[i]) {vtd[i] = true;solve(str+arr[i], cnt+1);vtd[i] = false;}}}static int solution(int n, String[] data) {answer = 0;vtd = new boolean[arr.length];da = data;solve("", 0);return answer;}}cs #문제풀이
만들 수 있는 모든 조합을 만든 후, 조건에 맞는 것들만 카운트 했다.
'ALGORITHM > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] 위장 (0) 2021.08.07 [프로그래머스] 쿼드압축 후 개수 세기 (월간 코드 챌린지 시즌1) (0) 2021.08.07 [프로그래머스] 행렬 테두리 회전하기 (0) 2021.08.06 [프로그래머스] 괄호 회전하기 (월간 코드 챌린지 시즌2) (0) 2021.08.05 [프로그래머스] 전화번호 목록 (0) 2021.08.05