코드스테이츠 Day25
<느낀 점>
결국 어제 짜고 고민한 코드는 5개 중 1개 남은 벽을 뛰어넘지 못하고 사장되었다. ㅠ
레퍼런스를 보니 아예 다른 방식으로 접근했더군. 인접 행렬 길찾기 쉽지 않네,,
재귀함수가 아직 어려운데, 그걸 베이스로 하는 알고리즘이 진짜 많다.
오늘 13번 바코드 문제는 풀이 영상 봐도 어려워서, 영상만 2번 보고, 인텔리제이에 따라 써 봄..
오늘로 자료구조가 끝이라니,, 진도 속도 무엇. 이것이 부트캠프군,,
소화의 여부는 상관없이 일단 쭉쭉 진도를 빼고 보자,, !
그래도 오늘 좋았던 점은 아침에 데일리 코딩 문제 푸는데, 내가 슈도 코드를 쭉 작성하고 만든 코드가 한 번에 통과된 것! 기분 좋았다. 그것도 밑에 올려야지.
이건 사장된 코드
public class Solution {
public boolean getDirections(int[][] matrix, int from, int to) {
// TODO:
if(matrix[from][to]==1) return true;// 1-->4 바로 연결된 경우.
for(int i=0; i<matrix.length; i++){
if(matrix[from][i]==1) { // 1-->3 다른 인덱스로 이어지는 경우. 해당 인덱스 행을 검사.
for(int j=0; j<matrix.length; j++){
if(matrix[i][j]==1 && j==from) return false; // 3-->1
else if(matrix[i][j]==1 && j==to) return true; // 3-->4
else if(matrix[i][j]==1 && j!=to){ //3-->2
i=j;
}
}
}
}
return false;
}
}
이건 아침에 푼 데일리 코딩.
public class Solution {
public HashMap<String, String> convertListToHashMap(String[][] arr) {
//답을 넣을 해쉬맵 만들기.
HashMap<String,String> result = new HashMap<>();
// arr.length가 0인 경우(빈 배열)
if(arr.length==0) return new HashMap<String,String>();
// arr.length가 0이 아닌 경우
if(arr.length!=0)
for(int i=0; i<arr.length; i++){
// arr[i]의 길이가 0 인 경우 --> 무시
if(arr[i].length==0) continue;
// arr[i]의 길이가 0이 아닌 경우
if(arr[i].length!=0){
//키가 이미 있다면 패스.
if(result.containsKey(arr[i][0])) continue;
//arr[i][0] = key. arr[i][1]=value.
else result.put(arr[i][0], arr[i][1]);
}
}
return result;
}
}