코드스테이츠 Day24
<느낀 점>
아침 데일리 코딩 문제는 어제 아침에 고민하다가 못 푼 것을 오늘 풀어내서 기분 좋았음.
그리고 어제 고민하던 코플릿 Queue 박스 포장 문제는
오늘 페어님이랑 서로 코드 리뷰하다가 내 코드가 어디서 잘못되었는지 알았다.
스스로 해결해보려고 했으나 모르겠어서 결국 레퍼런스 참고해서 해결.
그리고 오늘 공부한 자료 구조 3종류(Tree, Graph, BST)에 대한 코플릿 문제 6~10번까지 풀었다. 10번 풀어서 기분 좋았음.
인접 행렬이 있는지 찾는 11번은 아래와 같이 풀었는데, 4/5만 통과 ㅠ
3-->2 의 경우에, i=j로 바꾸고 2번째 for문을 돌게 하고 싶은데, 2번째 for문 탈출하면 첫 번째 for문부터 시작하므로 if문을 거치게 되어서 오류가 나는 것 같다. 어떻게 고칠지 모르겠음,,
public class Solution {
public boolean getDirections(int[][] matrix, int from, int to) {
// from 행에서 1이 있는 인덱스를 확인
// 1이 있는 인덱스의 행으로 가서 1이 있는 인덱스를 확인
// 확인하다가 to와 같은 숫자의 인덱스가 나오면 true / 안 나오면 false
// 처음 from으로 돌아오면 되돌아가지 않음. 종료.
if(matrix[from][to]==1) return true;// 1-->4
while(true){
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;
}
}
}
12,13번은 손 못 댐..
딱 봐도 난해하고, 둘다 풀이 영상도 따로 제공된 걸 보니 난이도가 높은 것 같다.
오늘 선생님이 오후 줌 세션에서 어제 박스 문제 2가지 방법으로 풀어주셨는데, 풀이 후 "어떤 방법이 더 편하세요?"라고 물어보셨다.
나는 속으로 'Queue 보다는 ArrayList로 푼 방법이 더 직관적이어서 좋다.'라고 생각하고 있었는데, 동기 수강생 중 한 분이 채팅창에 "둘다 불편해요."라고 하셔서 다같이 터짐 ㅋㅋㅋㅋㅋ 너무 공감... 핵공감...
네,, 저도 다 불편해요... ㅋㅋ큐ㅠ
문제 풀릴 때 쾌감드는 거 보면 또 잘 맞나 싶다가도, 미로에 빠질 때는 내 길이 아닌 게 아닐까 하는 의구심 뿐...
내일도 화이팅.