Today I Learned

최지웅·2024년 3월 19일
0

Today I Learned

목록 보기
119/238

오늘 할일
1. 인공지능 개론 과제2_UCI에서 추가 훈련 및 github 업로드
2. 토익 공부 계획 세우기
3. 영상처리 과제_교재 연습문제 풀기
4. LeetCode
5. 인공지능 개론 과제 1 산점도 xy축 바뀜 수정
6. 안드로이드 개발 과제 문서화
7. 알고리즘 과제 제출
8. 리팩토링 마틴 파울러 도서 괜찮아보이면 구매

오늘 한일
1. UCI 추가 데이터셋 URL피싱으로 시도했으나 원인모를 Column이 String으로 읽혀 러닝불가
2. 토익 공부.. 토요일 1회차 풀이 및 오답
4. LeetCode

    1. Delete the Middle Node of a Linked List에서 지난시간 기본 케이스 3개를 통과하지 못했는데 api 형태만 주어 디버깅을 못하고 마무리 했었다. LeetCode에서 stdout값은 확인할 수 있게 해주어 직접 값을 출력하며 디버깅을 시도했다.

그 결과 for 루프 증감식에 index++을 이미 써두었는데, 루프가 끝나갈 때 index++를 추가적으로 진행하여 제대로 삭제가 되지 않았던 것이다. 해당 부분을 수정해보았다.


하나의 원소가 들어가는 경우 예외처리를 바로 하겠다.

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode deleteMiddle(ListNode head) {
        int size=1;
        for(ListNode i=head; i.next!=null; i=i.next){
            size++;
        }
        
        if(size==1)
            return null;

        int index=0, middle_index=size/2;
        for(ListNode i=head; i.next!=null; i=i.next, index++){
            if(index==middle_index-1){
                if(i.next.next!=null){
                    i.next=i.next.next;
                } else{
                    i.next=null;
                    break;
                }
            }
        }

        return head;
    }
}

profile
이제 3학년..

0개의 댓글