ํ”ผ๋“œ๋ฐฑ&ํšŒ๊ณ /Weekly Feedback

2023๋…„ 4์›” 1์ฃผ์ฐจ ์ฃผ๊ฐ„ํšŒ๊ณ 

์ฑ”๐Ÿป 2024. 1. 24. 20:07

Time tracker

๊ตฌ๋ถ„๋ชฉํ‘œ์‹œ๊ฐ„์‚ฌ์šฉ์‹œ๊ฐ„๋‹ฌ์„ฑ๋ฅ %์›์ธ๋ถ„์„๋‹ค์Œ ์ฃผ์— ์ ์šฉํ•  ๊ฒƒ
๐Ÿง˜โ€โ™€๏ธ์˜์ 1110.595%์ด๋ฒˆ ์ฃผ๋„ ๋“ฃ๊ธฐ๋งŒํ•˜๊ณ  ๋ณธ๊นจ์  ์•ˆ ํ–ˆ๋‹ค ใ… .ใ… โ€ฆ. ์™œ์ด๋ ‡๊ฒŒ ํ•˜๊ธฐ๊ฐ€ ์‹ซ์ง€ ์ถœ๊ทผ๊ธธ 1์ผ 1ํ˜•
โ†’
6~14์žฅ ์ •๋ฆฌ๋ณธ ๋ณต์Šต, ์›๋ณด์นด ์Œ์„ฑ์œผ๋กœ ๋“ฃ๊ธฐ(ํ™˜์Šน, ๊ฑธ์„ ๋•Œ)

1์ผ 1ํ˜•์€ ์ฃผ๋ง ์•„์นจ์—..
โœ๏ธ์ง€์ 7573.598%12์žฅ : 4
13์žฅ : 12.5
14์žฅ : 23.5
15์žฅ : 3
์ž๋ฃŒ๊ตฌ์กฐ(์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ) : 7.5

์ˆ˜์—… : 10H
ํŠน๊ฐ• : 3.5
6~13 ๋ณต์Šต+์ •๋ฆฌ+์‹œํ—˜ : 8H

์‚ฌํšŒ์ 11100%
๐Ÿƒโ€โ™€๏ธ์‹ ์ฒด์ 3.5129%์ž๋ฐ”๋ผ ๊ฑฐ์น˜๋Œ€ ์‚ฌ๊ธฐ ใ…Žใ…Žโ€ฆ..
๐ŸŒ”์ž 4952106%์ผ์š”์ผ์— ๋‘ํ†ต ๋„ˆ๋ฌด ์‹ฌํ•ด์„œ ๋ฏธ์น˜๋Š” ์ค„ ์•Œ์•˜๋‹ค. 11์‹œ์— ๋ฐ”๋กœ ์ž์•ผํ•˜๋Š”๋ฐ ํฐ ๋ณด๋А๋ผ 10๋ถ„ 20๋ถ„ ๋Šฆ๊ฒŒ ์ž๋Š” ๊ฒŒ ์Œ“์ด๋‹ˆ๊นŒ ๋ˆ„์ ๋œ๊ฒŒ ์›์ธ์ธ๋“ฏ,, 11์‹œ๋˜๋ฉด ๋ฐ”๋กœ ์ž๊ธฐ
๐Ÿงน๊ธฐํƒ€2429.5123%

์‹œ๊ฐ„๊ธฐ๋ก

Weekly Feedback

์ด๋ฒˆ ์ฃผ ๋ชฉํ‘œ์ด๋ฒˆ ์ฃผ ๊ฒฐ๊ณผ
<์ž๋ฐ”์˜ ์ •์„ 13์žฅ~16์žฅ ๋๋‚ด๊ธฐ>
1. 13์žฅ ์“ฐ๋ ˆ๋“œ
2. 14์žฅ ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ
3. 15์žฅ ์ž…์ถœ๋ ฅ(I/O)
4. 16์žฅ ๋„คํŠธ์›Œํ‚น
๋‹ฌ์„ฑ๋ฅ  58%

1. 13์žฅ ์“ฐ๋ ˆ๋“œ

2. 14์žฅ ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ

3. 15์žฅ ์ž…์ถœ๋ ฅ(I/O)(1/3 ์™„๋ฃŒ)

4. 16์žฅ ๋„คํŠธ์›Œํ‚น

์›์ธ ๋ถ„์„

  • ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์š”์†Œ๋“ค์ด ๋งŽ์•˜๋‹ค.

    ์ˆ˜์—…์ด ํ‰์†Œ๋ณด๋‹ค ๋งŽ์•˜๊ณ (5h) ํŠน๊ฐ• 3.5h์— ๊ณ„ํš์— ์—†์—ˆ๋˜ 12์žฅ ์š”์•ฝ์ •๋ฆฌ(4h) ๋„ํ•ฉ 12.5h์˜ ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ๊ณณ์— ์‹œ๊ฐ„์„ ์“ฐ๊ฒŒ๋๋‹ค

์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์„ฑ๊ณต๊ณผ ์‹คํŒจ

์˜ˆ์„ฑ

  • ์›๋ณด์นด ์Œ์„ฑ

    ์›๋ณด์นด ๋‹จ์–ด ๋“ฑ๋กํ•ด๋‘” ๊ฒƒ ์ด๋™ํ•˜๋ฉด์„œ ๋“ค์œผ๋‹ˆ๊นŒ ์‹œ๊ฐ„ ์•„๋ผ๋ฉด์„œ ๋ณต์Šต๋„ ๋˜์–ด์„œ ๋„ˆ๋ฌด ์ข‹์•˜๋‹ค. ์ถœ๊ทผ ์‹œ๊ฐ„์— ์›๋ณด์นด ๋‹จ์–ด ์Œ์„ฑ ๋“ฃ๊ธฐ ๋ชฉํ‘œ๋กœ ์ถ”๊ฐ€ํ•ด๋‘ !

  • ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„

    ์ด๋ฒˆ ์ฃผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋Š”๋ฐ ๋„ˆ๋ฌด ์žฌ๋ฐŒ์—ˆ๋‹ค..! ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋†’์€ ์ž๋ฐ” ์ง„๋„ ๋‚˜๊ฐ€๋Š”๋ฐ์— ๋งŽ์€ ์‹œ๊ฐ„์„ ์จ์•ผ ํ•ด์„œ add๋ž‘ toString๋ฐ–์— ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ–ˆ์ง€๋งŒ ์ถ”ํ›„ ํ‹ˆํ‹ˆํžˆ ํ•ด์„œ remove๋ž‘ indexOf ๋“ฑ๋“ฑ..๋„ ๊ตฌํ˜„ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค.

    • MyLinkedList.java
      /**
       * 1. Node class ๋งŒ๋“ค๊ธฐ
       * 2. ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
       * 3. add ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€
       * 4. ํ…Œ์ŠคํŠธ
       * 5. ์ง€๋„ค๋ฆญ ํด๋ž˜์Šค๋กœ ๋ณ€๊ฒฝ
       */
      public class MyLinkedList {
          private class Node {
              Node next; // ๋‹ค์Œ ๋…ธ๋“œ
              Object obj; //  ๊ฐ’
      
              private Node(Object obj) {
                  this.obj = obj;
              }
      
              @Override
              public String toString() {
                  return obj + "";
              }
          }
      
          public MyLinkedList() {}
      
          private Node firstNode;
      
          /**
           * ๋ฉ”์„œ๋“œ๋ช… : add
           * ๊ธฐ๋Šฅ    : ์ง€์ •๋œ ๊ฐ์ฒด(o)๋ฅผ ๋ฆฌ์ŠคํŠธ์˜ ๋์— ์ถ”๊ฐ€
           * ๋ฐ˜ํ™˜๊ฐ’   : ์—†์Œ
           * ๋งค๊ฐœ๋ณ€์ˆ˜ : Object o
           */
          public void add(Object o) {
              Node newNode = new Node(o); // Node๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , Node์˜ obj์— ์ €์žฅ๋œ ๊ฐ์ฒด(o)์˜ ์ฃผ์†Œ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค.
      
              if (firstNode == null) {
                  firstNode = newNode; // ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ์ผ ๊ฒฝ์šฐ ๊ฐ’๋งŒ ๋„ฃ์–ด์ฃผ๊ณ  ๋๋ƒ„
              } else {
                  Node lastNode = getLastNode(); // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
                  lastNode.next = newNode; // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ์˜ next์— ์ƒˆ๋กœ ์ƒ์„ฑํ•œ Node ๊ฐ์ฒด์˜ ์ฃผ์†Œ๊ฐ’์„ ๋„ฃ์–ด์ค€๋‹ค.
              }
          }
      
          /**
           * ๋ฉ”์„œ๋“œ๋ช… : getLastNode
           * ๊ธฐ๋Šฅ    : ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
           * ๋ฐ˜ํ™˜๊ฐ’   : Node
           * ๋งค๊ฐœ๋ณ€์ˆ˜  : ์—†์Œ
           */
          private Node getLastNode() {
              Node nextNode = firstNode.next;
      
              // nextNode๊ฐ€ null์ด๋ผ๋Š” ๊ฒƒ์€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” node๊ฐ€ ํ•˜๋‚˜๋ฟ์ด๋ผ๋Š” ๋œป.
              // ํ•˜๋‚˜๋ฐ–์— ์—†์œผ๋‹ˆ๊นŒ firstNode๊ฐ€ lastNode์ด๋ฏ€๋กœ firstNode๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
              if (nextNode == null)
                  return firstNode;
      
              // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ผ๋Š” ๊ฒƒ์€ ์ฐธ์กฐ๋ณ€์ˆ˜์˜ next์˜ ๊ฐ’์ด null์ด๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ.
              // nextNode.next์˜ ๊ฐ’์ด null์ด ์•„๋‹ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
              while (nextNode.next != null) {
                  nextNode = nextNode.next;
              }
      
              return nextNode;
          }
      
          @Override
          public String toString() {
              if (firstNode == null) return ""; // ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” Node๊ฐ€ ์—†์œผ๋ฉด ๊ณต๋ฐฑ ๋ฐ˜ํ™˜
      
              String tmp = firstNode + ""; // ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ์— ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ชจ๋“  obj ๊ฐ’์„ ๋”ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜
              Node nextNode = firstNode.next;
              // nextNode๊ฐ€ null์ด๋ผ๋Š” ๊ฒƒ์€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” node๊ฐ€ ํ•˜๋‚˜ ๋ฟ์ด๋ผ๋Š” ๋œป. ํ•˜๋‚˜๋ฐ–์— ์—†์œผ๋‹ˆ๊นŒ firstNode์˜ obj๊ฐ’๋งŒ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
              if (nextNode == null) return tmp;
              tmp += (", " + nextNode);
      
              while (nextNode.next != null) {
                  nextNode = nextNode.next;
                  tmp += (", " + nextNode);
              }
      
              return tmp;
          }
      }
    • MyLinkedListGeneric.java (์ง€๋„ค๋ฆญ ํด๋ž˜์Šค๋กœ ๋ณ€๊ฒฝ)
      /**
       * 1. Node class ๋งŒ๋“ค๊ธฐ
       * 2. ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
       * 3. add ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€
       * 4. ํ…Œ์ŠคํŠธ
       * 5. ์ง€๋„ค๋ฆญ ํด๋ž˜์Šค๋กœ ๋ณ€๊ฒฝ
       *    Object๋ฅผ ํƒ€์ž… ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ
       */
      public class MyLinkedListGeneric<E> {
          private class Node<E> {
              Node<E> next; // ๋‹ค์Œ ๋…ธ๋“œ
              E obj; //  ๊ฐ’
      
              private Node(E obj) {
                  this.obj = obj;
              }
      
              @Override
              public String toString() {
                  return obj + "";
              }
          }
      
          public MyLinkedListGeneric() {}
      
          private Node<E> firstNode;
      
          /**
           * ๋ฉ”์„œ๋“œ๋ช… : add
           * ๊ธฐ๋Šฅ    : ์ง€์ •๋œ ๊ฐ์ฒด(o)๋ฅผ ๋ฆฌ์ŠคํŠธ์˜ ๋์— ์ถ”๊ฐ€
           * ๋ฐ˜ํ™˜๊ฐ’   : ์—†์Œ
           * ๋งค๊ฐœ๋ณ€์ˆ˜ : Object o
           */
          public void add(E e) {
              Node<E> newNode = new Node(e); // Node๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , Node์˜ obj์— ์ €์žฅ๋œ ๊ฐ์ฒด(o)์˜ ์ฃผ์†Œ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค.
      
              if (firstNode == null) {
                  firstNode = newNode; // ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ์ผ ๊ฒฝ์šฐ ๊ฐ’๋งŒ ๋„ฃ์–ด์ฃผ๊ณ  ๋๋ƒ„
              } else {
                  Node<E> lastNode = getLastNode(); // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
                  lastNode.next = newNode; // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ์˜ next์— ์ƒˆ๋กœ ์ƒ์„ฑํ•œ Node ๊ฐ์ฒด์˜ ์ฃผ์†Œ๊ฐ’์„ ๋„ฃ์–ด์ค€๋‹ค.
              }
          }
      
          /**
           * ๋ฉ”์„œ๋“œ๋ช… : getLastNode
           * ๊ธฐ๋Šฅ    : ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
           * ๋ฐ˜ํ™˜๊ฐ’   : Node
           * ๋งค๊ฐœ๋ณ€์ˆ˜  : ์—†์Œ
           */
          private Node<E> getLastNode() {
              Node<E> nextNode = firstNode.next;
      
              // nextNode๊ฐ€ null์ด๋ผ๋Š” ๊ฒƒ์€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” node๊ฐ€ ํ•˜๋‚˜๋ฟ์ด๋ผ๋Š” ๋œป.
              // ํ•˜๋‚˜๋ฐ–์— ์—†์œผ๋‹ˆ๊นŒ firstNode๊ฐ€ lastNode์ด๋ฏ€๋กœ firstNode๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
              if (nextNode == null)
                  return firstNode;
      
              // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ผ๋Š” ๊ฒƒ์€ ์ฐธ์กฐ๋ณ€์ˆ˜์˜ next์˜ ๊ฐ’์ด null์ด๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ.
              // nextNode.next์˜ ๊ฐ’์ด null์ด ์•„๋‹ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
              while (nextNode.next != null) {
                  nextNode = nextNode.next;
              }
      
              return nextNode;
          }
      
          @Override
          public String toString() {
              if (firstNode == null) return ""; // ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” Node๊ฐ€ ์—†์œผ๋ฉด ๊ณต๋ฐฑ ๋ฐ˜ํ™˜
      
              String tmp = firstNode + ""; // ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ์— ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ชจ๋“  obj ๊ฐ’์„ ๋”ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜
              Node<E> nextNode = firstNode.next;
              // nextNode๊ฐ€ null์ด๋ผ๋Š” ๊ฒƒ์€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” node๊ฐ€ ํ•˜๋‚˜ ๋ฟ์ด๋ผ๋Š” ๋œป. ํ•˜๋‚˜๋ฐ–์— ์—†์œผ๋‹ˆ๊นŒ firstNode์˜ obj๊ฐ’๋งŒ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
              if (nextNode == null) return tmp;
              tmp += (", " + nextNode);
      
              while (nextNode.next != null) {
                  nextNode = nextNode.next;
                  tmp += (", " + nextNode);
              }
      
              return tmp;
          }
      }
  • ๋žŒ๋‹ค์‹ ์ฒ˜์Œ ๋ฐฐ์šธ ๋•Œ ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ ๋์—ˆ๋Š”๋ฐ 2ํšŒ๋…์ธ ์ง€๊ธˆ์€ ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ–ˆ๋‹ค. ์•„๋ž˜์ฒ˜๋Ÿผ ์ต๋ช… ํด๋ž˜์Šค๋กœ ๋จผ์ € ์ž‘์„ฑํ•ด๋ณด๊ณ  ๋ณ€ํ™˜ํ•˜๋‹ˆ๊นŒ ์™„์ „ ์ดํ•ด์ž˜๋จ!
    public class Main2 {
        public static void main(String[] args) {
            List<String> list = Arrays.asList("abc", "aaa", "bbb", "ddd", "aaa");
            Collections.sort(list, new SortTest());
        }
    }
    
    class SortTest implements Comparator<String> {
    
        @Override
        public int compare(String o1, String o2) {
            return o2.compareTo(o1); // ์ •๋ ฌ๊ธฐ์ค€ ์ œ๊ณต
        }
    }
    public class Main2 {
        public static void main(String[] args) {
            List<String> list = Arrays.asList("abc", "aaa", "bbb", "ddd", "aaa");
            Collections.sort(list, new Comparator<String>() {
                @Override
                public int compare(String o1, String o2) {
                    return o2.compareTo(o1);
                }
            });
        }
    }
    public class Main2 {
        public static void main(String[] args) {
            List<String> list = Arrays.asList("abc", "aaa", "bbb", "ddd", "aaa");
            Collections.sort(list, (o1, o2) -> o2.compareTo(o1));
        }
    }

์˜ˆ์‹ค

  • ์งˆ๋ฌธ

    ๋ฌดํ„ฑ๋Œ€๊ณ  ์งˆ๋ฌธํ•˜๊ธฐ ์ „์—

    1. ์ฑ… ๋ณด๋‹ค๊ฐ€ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ๋‚˜์˜ค๋ฉด ์ผ๋‹จ ํšŒ์ƒ‰ ํ˜•๊ด‘ํŽœ์œผ๋กœ ๋ฐ‘์ค„์น˜๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ
    1. ๊ทธ ์ฑ•ํ„ฐ ๋‹ค ๋งˆ์น˜๊ณ  ์ดํ•ด ์•ˆ ๋๋˜ ๋ถ€๋ถ„ ๋‹ค์‹œ ์ฝ์–ด๋ณด๊ธฐ
    1. ๊ทธ๋ž˜๋„ ์ดํ•ด ์•ˆ ๋˜๋ฉด ๊ฒ€์ƒ‰ or chatGPTํ†ตํ•ด์„œ ์ฐพ์•„๋ณด๊ณ 
    1. ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๊ฒŒ ๋งž๋Š”์ง€ ์ฒดํฌํ•˜๋Š” ์ •๋„๋กœ ์งˆ๋ฌธ
  • inbox ํ•  ์ผ ์Œ“์—ฌ๋งŒ ๊ฐ€๋Š” ๊ฒƒ

    inbox ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ์ •ํ•ด๋‘์ง€ ์•Š์œผ๋‹ˆ๊นŒ ํ•  ์ผ๋“ค์ด ์Œ“์—ฌ๋งŒ๊ฐ€๊ณ  ์ฒ˜๋ฆฌ๊ฐ€ ์•ˆ ๋œ๋‹ค,, 1์ˆœ์œ„๋Š” ๋‹น์žฅ ๊ธ‰ํ•˜๋‹ˆ๊นŒ ์–ผ๋ ˆ๋ฒŒ๋ ˆ ํ•˜๋Š”๋ฐ ์ •์ž‘ ์ค‘์š”ํ•œ 2์ˆœ์œ„์˜ ํ•  ์ผ๋“ค์ด ์ง€๊ธˆ ํ•œ๋‹ฌ์งธ ๋ฏธ๋ค„์ง€๊ณ  ์žˆ์Œ

    โ†’ ์ €๋…๋ฃจํ‹ด์— inbox ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„ ์ถ”๊ฐ€ํ•˜๊ธฐ + ๋…ธํŠธ๋ถ ์ถฉ์ „..


๊ธˆ์ฃผ์— ๋ฐฐ์šด ๊ฒƒ๋“ค

์˜คํ”ˆ์†Œ์Šค

๊ตต์งํ•œ ์˜คํ”ˆ ์†Œ์Šค ํ•˜๋‚˜ ์ •ํ•ด์„œ ์ž์ฃผ ์†Œ์Šค ๊นŒ๋ด์•ผํ•จ(ex ์Šคํ”„๋ง) ๋ฐฐ์šฐ๋Š” ๊ฒŒ ์ •๋ง ๋งŽ์Œ

์ž๋ฃŒ๊ตฌ์กฐ

  1. ๋ฐฐ์—ด ๊ธฐ๋ฐ˜
  1. ์—ฐ๊ฒฐ ๊ธฐ๋ฐ˜
  1. ๋ฐฐ์—ด + ์—ฐ๊ฒฐ โ†’ ํ•ด์‹œ ํ…Œ์ด๋ธ”(HashMap)
  1. Tree

    ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ์—์„œ ์ ‘๊ทผ ์‹œ๊ฐ„์„ ์ค„์ด๋ ค๊ณ  ๋‚˜์˜จ ๊ฒŒ Tree(์ด์ง„ ํŠธ๋ฆฌ)์ด๋‹ค. 0(n) โ†’ 0(logN)

๋ฐฐ์—ด๊ณผ ์—ฐ๊ฒฐ์ด ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด๋‹ค. ๋‚˜๋จธ์ง€๋Š” ๋‹ค ๋ฐฐ์—ด๊ณผ ์—ฐ๊ฒฐ์„ ์กฐํ•ฉํ•ด์„œ ๋‚˜์˜จ ๊ฒƒ์ด๋‹ค.

Stack

์ •๋ ฌ ๋ฐ˜๋Œ€๋กœ ํ•  ๋•Œ๋„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

LinkedList

  • ์ถ”๊ฐ€ ์‹œ๊ฐ„์„ ์ค„์ด๋ ค๋ฉด ๋งจ ์•ž์— ์ถ”๊ฐ€๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Œ(์—ญ์ˆœ ์ €์žฅ)
  • ํฌ์ปค ๊ฒŒ์ž„ ์‹œ ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ํ™œ์šฉ

TreeSet

์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ โ†’ ์ž‘์€ ๊ฒƒ ์™ผ์ชฝ, ํฐ ๊ฒƒ ์˜ค๋ฅธ์ชฝ

์ˆœํšŒ : ์•ž/๋’ค/๊ฐ€์šด๋ฐ/๋ ˆ๋ฒจ

HashMap

๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ•

  1. ์ˆœ์ฐจ
  1. ์ด์ง„
  1. ํ•จ์ˆ˜

ํ•ด์‹ฑ์€ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์— ์„ฑ๋Šฅ์ด ์ข‹๋‹ค.

HashSet์€ HashMap์—์„œ key๋งŒ ๋”ฐ์™€์„œ ๋งŒ๋“  ๊ฒƒ. ๋‚ด๋ถ€์— HashMap์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค.


๋Œ€์šฉ๋Ÿ‰ โ†’ HashMap

๋ฒ”์œ„๊ฒ€์ƒ‰, ์ •๋ ฌ โ†’ TreeMap

๋ถ€๋ฃจ๋งˆ๋ธ”๊ฐ™์ด ์ฐจ๋ก€๊ฐ€ ๋Œ์•„์™€์•ผ ํ•˜๋Š” ๊ฒŒ์ž„ โ†’ LinkedList

๋ฉ”ํƒ€์• ๋„ˆํ…Œ์ด์…˜

์Šคํ”„๋ง์—์„œ ๋งŽ์ด ์“ฐ์ธ๋‹ค. ๋‚˜์ค‘์— ์†Œ์Šค ๋ณผ ๋•Œ ์ฐธ๊ณ ํ•  ๊ฒƒ

์ฐจ์ฃผ ๋ชฉํ‘œ

๊ตฌ๋ถ„์ฐจ์ฃผ ๋ชฉํ‘œ
โœ๏ธ์ง€์ <์ž๋ฐ”์˜ ์ •์„ 15์žฅ~16์žฅ ๋๋‚ด๊ธฐ>
1. 15์žฅ ์ž…์ถœ๋ ฅ(I/O)
2. 16์žฅ ๋„คํŠธ์›Œํ‚น

- ๋งค์ผ 6~14์žฅ ๋ณต์Šต : ์•„์นจ ์ด๋™์‹œ๊ฐ„์€ ์›๋ณด์นด, ์ง€ํ•˜์ฒ ์—๋Š” ์š”์•ฝ๋ณธ ๋ณด๊ธฐ
๐Ÿง˜โ€โ™€๏ธ์˜์ ํ‰์ผ : ๋…ผ์–ด ํ•œ๋งˆ๋”” ์ฝ๊ธฐ(8์‹œ~8์‹œ 10๋ถ„)
์ฃผ๋ง : ์ดํ˜• ์˜์ƒ ๋ณธ๊นจ์ (7์‹œ 20๋ถ„~7์‹œ 40๋ถ„)
๐Ÿƒโ€โ™€๏ธ์‹ ์ฒด์ ๋งค์ผ ์˜คํ›„ 10:40~10:50 ํผ๋กค๋Ÿฌ ์ŠคํŠธ๋ ˆ์นญ

๋‹ค์Œ์ฃผ๋„ํŒŒ์ดํŒ…!๐Ÿ˜„

  • ๋‹ด์ฃผ๊ฑฐ
    ๊ตฌ๋ถ„๋ชฉํ‘œ์‹œ๊ฐ„์‚ฌ์šฉ์‹œ๊ฐ„๋‹ฌ์„ฑ๋ฅ %์›์ธ๋ถ„์„๋‹ค์Œ ์ฃผ์— ์ ์šฉํ•  ๊ฒƒ
    ๐Ÿง˜โ€โ™€๏ธ์˜์ 6
    โœ๏ธ์ง€์ 82
    ์‚ฌํšŒ์ 3.5
    ๐Ÿƒโ€โ™€๏ธ์‹ ์ฒด์ 3.5
    ๐ŸŒ”์ž 49
    ๐Ÿšฟ๊ธฐํƒ€25

Uploaded by N2T