알고리즘
[ 알고리즘 ] 2중 배열안에서 같은 수 찾기 ( 3중 for )
Chars4785
2019. 9. 4. 14:27
@ 카카오 후보키 문제
package sol4;
import java.util.LinkedList;
import java.util.List;
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
String [][] a = {{"100","ryan","music","2"},{"200","apeach","math","2"},{"300","tube","computer","3"},{"400","con","computer","4"},{"500","muzi","music","3"},{"600","apeach","music","2"}};
int result = sol.solution(a);
System.out.println(result);
}
}
class Solution {
public int solution(String[][] relation) {
int answer = 0;
int[] result = new int[relation[0].length];
for(int i = 0;i<relation[0].length;i++) {
for(int j=0;j<relation.length-1;j++) {
// 한번 더 조건을 줘서 시간을 단축할수도 있다.
String temp = relation[j][i];
for(int k= j+1 ;k<relation.length;k++) {
if(temp.equals(relation[k][i]) && result[i] == 0 ) {
result[i] = 1;
}
}
}
}
return answer;
}
}
[["100","ryan","music","2"],
["200","apeach","math","2"],
["300","tube","computer","3"],
["400","con","computer","4"],
["500","muzi","music","3"],
["600","apeach","music","2"]]
카카오 후보키 찾는 문제를 푸는 도중 궁금해서 해본 코드이다.
후보키를 찾기 위해서 먼저 든 생각이 같은 글자의 인텍스를 구하기 위한 코드 3중 포문을 돌려서 만들어 보았다.
## 결국 해답은 이렇게 푸는 것이 아니다.