여기서 사용한 모든 기술은 아래 글에 기록하였다.
https://onejunu.tistory.com/63
import java.util.*;
class Solution{
static List<Integer> ans = new ArrayList<>();
public int solution(String[][] relation) {
int n = relation.length;
int m = relation[0].length;
for(int i=1;i<1<<m;i++){
Set<String> set = new HashSet<>();
for(int j=0;j<n;j++){
String now = "";
for(int k=0;k<m;k++){
if((i & 1<<k) > 0 ){
now += (relation[j][k]);
}
}
set.add(now);
}
if(set.size()==n && isPossible(i)){
ans.add(i);
}
}
return ans.size();
}
private boolean isPossible(int i) {
Iterator<Integer> iterator = ans.iterator();
while(iterator.hasNext()){
int next = iterator.next();
if((next & i) == next) return false;
}
return true;
}
}
'algorithm' 카테고리의 다른 글
[JAVA] 소수 찾기 ( 프로그래머스 ) (0) | 2020.09.04 |
---|---|
[JAVA] 2048(Easy) 삼성 기출 문제 (백준 12100) (0) | 2020.09.01 |
[JAVA] 오픈채팅방 (2019 kakao 프로그래머스) (0) | 2020.08.25 |
[JAVA] 가사검색 (kakao 2020 프로그래머스) (0) | 2020.08.24 |
[JAVA] 기둥과 보 설치( 프로그래머스 kakao 2020 공채) (0) | 2020.08.21 |
댓글