Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바스크립트 알고리즘
- NPM
- 자바스크립트
- 자바스크립트 문제
- leetcode
- 알고리즘문제풀이
- Baekjoon
- JavaScript
- 자바스크립트 알고리즘 문제
- 리액트쿼리
- stack문제
- lodash
- 자바스크립트 연결리스트
- 프론트엔드
- next13
- CSS
- Next
- Next.js13
- leetcode문제풀이
- 리액트
- react
- til
- 자바스크립트 문제풀이
- JS
- 자바스크립트 문제 풀이
- 제로베이스
- HTML
- 자바스크립트코딩테스트
- 프로그래머스
- 타입스크립트
Archives
- Today
- Total
코드노트
자바스크립트 연결리스트 열차연결 문제풀이 본문
더보기
문제설명
들어오는 입력값을 연결리스트에 node를 추가한다.
입력값
#1 [4, 7, 1, 10, 6]
#2 [3, 10, 6, 9, 11, 3, 4]
#2 [5, 8, 7, 3, 4, 1, 2, 7, 10, 7]
출력 값
#1 4 -> 7 -> 1 -> 10 -> 6 -> null
#2 3 -> 10 -> 6 -> 9 -> 11 -> 3 -> 4 -> null
#3 5 -> 8 -> 7 -> 3 -> 4 -> 1 -> 2 -> 7 -> 10 -> 7 -> null
- 연결리스트에 대해서 공부한 후에 연결리스트에 대해서는 이해를 했다고 생각했다.
그러나 문제를 막상 풀려고 하니깐 node, this.head, LinkedList를 어떻게 사용해야할지 감이 잘 잡히질 않았다.
입력값을 순서대로 가지고와야하기 때문에 for를 이용해서 입력값 하나씩을 들고왔다.
문제 풀이 순서
1. Train 객체를 nums 수만큼 만든다.
2. next를 이용해서 열차간 연결을 시킨다.
* 이전 Train 객체.next = 현재 Train 객체 를 연결시켜주어야 한다.
3. 가장 첫번 째 Train 객체는 this. head로 연결 시킨다.
문제풀이
function Train(number) {
this.number = number;
this.next = null;
}
function LinkedList() {
this.head = null;
}
-------------------------------
function answer(nums) {
let ll = new LinkedList();
let current, prev;
for (let i = 0; i < nums.length; i++) { // for반복문을 통해서 배열을 들고온다.
current = new Train(nums[i]); // 새로운 노드를 생성하면서 배열을 하나씩 들고와서 current에 할당해준다.
if (i === 0) { // 첫 노드를 ll.head에 넣어준다
ll.head = current;
} else { // 그 뒤에 오는 node는 prev.next에 넣어준다.
prev.next = current;
}
prev = current; // prev에 current를 넣어주어 .next에는 다른 node들이 연결될 수 있도록 해준다.
}
return ll;
}
- 연결리스트 메서드만 사용했을 때와 직접 문제를 풀때는 막막한느낌이 들었다.
- 연결리스트 관련 문제들도 자주 풀어봐야할거 같다ㅠㅠ. 할게 너무 많다..으아
'Code note > 자바스크립트 알고리즘 문제풀이' 카테고리의 다른 글
연결리스트 역순 출력, 반대로 연결 이해하기, 자바스크립 (0) | 2022.09.13 |
---|---|
leetcode 자바스크립트 문제 풀이 Valid Parentheses 유효한 괄호 (0) | 2022.09.09 |
자바스크립트 접두사 구하기 문제풀이 (0) | 2022.09.08 |
자바스크립트 로마숫자 코딩테스트 문제 풀이 Roman to Integer (0) | 2022.09.08 |
자바스크립트 체육복 문제 풀이, 프로그래머스 (0) | 2022.09.06 |