File tree Expand file tree Collapse file tree 2 files changed +75
-0
lines changed
Expand file tree Collapse file tree 2 files changed +75
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * Definition for singly-linked list.
3+ * public class ListNode {
4+ * int val;
5+ * ListNode next;
6+ * ListNode() {}
7+ * ListNode(int val) { this.val = val; }
8+ * ListNode(int val, ListNode next) { this.val = val; this.next = next; }
9+ * }
10+ */
11+ class Solution {
12+ /*
13+ * [ํ์ด]
14+ * 1) ๋ ๋ฆฌ์คํธ๊ฐ ์ด๋ฏธ ์ ๋ ฌ๋ ์ํ โ ๋งจ ์์์๋ถํฐ ๋ ์ค ๋ ์์ ๋
ธ๋๋ฅผ ๊ฒฐ๊ณผ ๋ฆฌ์คํธ rs์ ์ด์ด ๋ถ์ธ๋ค.
15+ * 2) ํ๋์ ๋ฆฌ์คํธ๊ฐ ๋๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค. โ ๋จ์ ๋ฆฌ์คํธ์ ๋
ธ๋๋ ๊ทธ๋๋ก rs์ ๋ถ์ธ๋ค.
16+ * 3) rs ํค๋ ๋
ธ๋์ next๋ถํฐ ๋ฐํํ๋ค.
17+ * [T.C]
18+ * ๊ฐ ๋
ธ๋๋ฅผ ํ ๋ฒ์ฉ ๋น๊ต โ ์ฐ๊ฒฐ(๋๋ ์ฐ๊ฒฐ๋ง)ํ๋ฏ๋ก,
19+ * T.C = O(n+m) (n = list1์ ๊ธธ์ด, m = list2์ ๊ธธ์ด)
20+ * [S.C]
21+ * list1๊ณผ list2์ ๋
ธ๋๋ฅผ ๋ค์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด๋ฏ๋ก ์ถ๊ฐ์ ์ธ ๊ณต๊ฐ์ ๊ฑฐ์ ํ์ํ์ง ์์ผ๋ฏ๋ก(rs์ head ์ ๋?),
22+ * S.C = O(1)
23+ */
24+
25+ public ListNode mergeTwoLists (ListNode list1 , ListNode list2 ) {
26+ ListNode rs = new ListNode (0 );
27+ ListNode rsNext = rs ;
28+ // step 1
29+ while (list1 != null && list2 != null ) {
30+ if (list1 .val <= list2 .val ) {
31+ rsNext .next = list1 ;
32+ list1 = list1 .next ;
33+ }
34+ else {
35+ rsNext .next = list2 ;
36+ list2 = list2 .next ;
37+ }
38+ rsNext = rsNext .next ;
39+ }
40+ // step 2
41+ if (list1 != null ) rsNext .next = list1 ;
42+ if (list2 != null ) rsNext .next = list2 ;
43+ // step3
44+ return rs .next ;
45+ }
46+ }
47+
Original file line number Diff line number Diff line change 1+ import java .util .Arrays ;
2+ class Solution {
3+ /* [ํ์ด]
4+ * 1) ๋ฐฐ์ด nums์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค.
5+ * 2) ๋ฐฐ์ด ์์์ ์ธ๋ฑ์ค์ ๊ฐ์ ๋น๊ตํ๋ค.
6+ * 2-1) ์ธ๋ฑ์ค์ ๊ฐ์ด ๊ฐ๋ค๋ฉด ํด๋น ๊ฐ์ ๋ฐฐ์ด์ ์๋ค.
7+ * 2-2) ์ธ๋ฑ์ค์ ๊ฐ์ด ๋ค๋ฅด๋ค๋ฉด, ํด๋น ๊ฐ์ ๋ฐฐ์ด์ ์๋ค.
8+ * 3) ๋ค๋ฅธ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค.
9+ * [T.C]
10+ * ๋ด์ฅ๋ Arrays.sort()๋ฅผ ์ฌ์ฉํ๋ฉด ์๊ฐ ๋ณต์ก๋๋ O(n log n)์ด ๋๋ค.
11+ * [S.C]
12+ * ์ต์
์ ๊ฒฝ์ฐ Arrays.sort()๋ ์ถ๊ฐ์ ์ผ๋ก O(n) ๋งํผ์ ๊ณต๊ฐ์ ์ฌ์ฉํ๋ค.
13+ */
14+
15+ public int missingNumber (int [] nums ) {
16+ // nums ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
17+ Arrays .sort (nums );
18+ // ์ธ๋ฑ์ค์ ์์ ๋น๊ต
19+ for (int i = 0 ; i < nums .length ; i ++) {
20+ if (nums [i ] != i ) {
21+ return i ;
22+ }
23+ }
24+ // ๋ฐฐ์ด์ ์๋ ๊ฐ ๋ฐํ
25+ return nums .length
26+ }
27+ }
28+
You canโt perform that action at this time.
0 commit comments