2022/02/03 목요일

Gong Intaek·2022년 2월 3일
0

일상

목록 보기
236/1031
post-thumbnail

오늘 한 일

  • leetcode
    • Odd Even Linked List. (medium)
  • 실내 운동

문제 풀이

Odd Even Linked List. (medium)

입력된 Linked List 를 홀수 열과 짝수열을 구분하여 별개의 Linked List로 만든뒤 홀수열뒤에 짝수열 Linked List를 붙여서 돌려주는 문제.

단순하게 생각하면 입력된 Linked List를 while문으로 순회시켜 구성된느 값들을 짝수 홀수 열에따라 두개의 역배열로 구성하고, 해당 배열들을 for문으로 순회하여 Linked List로 구성한뒤 해당 배열을 이어붙인뒤 돌려주는 방식을 사용하면 될것이다.

하지만 이 경우 반복을 여러번 수행하는 감이 없지 않아있기에 해당 방식보다는 한번의 순회로 홀수열 짝수열 Linked List를 구성하고 이어 붙이는 방식을 사용하였다. 우선 만들게될 두 Linked List를 left와 right로 명명하고 left Linked List의 가장 앞으로 고정시킬 ans 와 right Linked List의 가장 앞으로 고정시킬 tail을 선언한다.

이후 입력된 Linked List를 while로 순회시키고 카운팅에 따라 left와 right에 배분을 하는데 새로운 Linked List 구성하고 이전의 next에 새 Linked List를 연결하고 연결될 노드를 다음 작업에 사용할 left나 right로 정의하여 매번 마지막 노드를 나타내게 구성하였다.

순회가 마무리 되면 홀수열은 ans에서 시작하여 left로 끝나는 Linked List를 구성하게되고 짝수열도 tail 에서 시작하여 right로 끝나는 Linked List를 구성하게 된다. 최종적으로 두 Linked List를 연결하여 결과로 돌려주면 풀이는 마무리된다.

로 끝날줄 알았지만 아쉽게도 들어오는 Linked List가 null 인 경우와 하나의 노드를 가진 경우
위 방식으로 정리가 되지 않아 별도의 조항을 작성해야 했다.


길게 생각해볼것

코딩 문제 풀이 잘못된 폴더 선택 문제

  • 커밋기록 유지한채로 폴더 옮기는 법 찾는 중

개인프로젝트

홈페이지 만들기

  • 클라이언트와 연결된 서버 서버와 서버서버를 통괄하는 메인서버로 구성할 예정
  • 서버스택은 node.js, express, typescript를 사용할 예정
  • 데이터 베이스는 mysql 를 바탕으로 typeorm을 사용할 예정
  • 배포는 aws를 사용 할 예정.(새로 생성한 계정을 이용)
  • 클라이언트 부분은 아직 생각중
  • 제작 기간은 딱히 정하진 않음 - 생각하고 정리되면 그에 맞춰 행동할 예정
  • 클라이언트 부분중 생각했엇던 기능:
    • 홈페이지는 그동안 연습하거나 했던 것들을 담아둘 공간으로서 제작하려고 햇기에 해당 영역을 기능으로 구현해야한다. 이후 개별프로젝트나 새로운 언어 기능을 학습할때의 결과도 같이 올려둘 예정.
    • 가능하다면 벨로그에 작성중인 블로그를 같이 게시할수 있었으면 한다. 해서 해당 부분을 고민해볼 것.
    • 그 외 연습하고자 하는 기능들을 추가해볼 영역이 별도로 필요로 할듯하다.
  • 클라이언트 외형(메인페이지)
    • 상단에 얇은 바를 구성 위에 언급한 기능으로 가는 메뉴를 나열 시킴
  • 사이드 페이지
    • 메인페이지에서 구성된 바는 공통으로 나타나게하고 좌측에 사이드 바를 구성 별개의 세부 메뉴를 나타나게 구성함. (세부적인 크기 위치는 확정 되지 않음. )

오늘은...

수면 문제 조절중. 프로젝트 진도 나간것 없음. 프로젝트는 큰 범주에서 보고 세세한 작은 단위 프로젝트를 생각 해봐야겠다.

profile
개발자가 되기위해 공부중

0개의 댓글