<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>오웬의 개발 이야기</title>
    <link>https://yolo2429.tistory.com/</link>
    <description>안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.</description>
    <language>ko</language>
    <pubDate>Thu, 16 Jul 2026 17:32:58 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>DevOwen</managingEditor>
    <image>
      <title>오웬의 개발 이야기</title>
      <url>https://tistory1.daumcdn.net/tistory/2738522/attach/418608a299c6427e86eaf3e174103ec8</url>
      <link>https://yolo2429.tistory.com</link>
    </image>
    <item>
      <title>Binary Search Tree를 구현해보기 (TypeScript)</title>
      <link>https://yolo2429.tistory.com/541</link>
      <description>&lt;p&gt;최근에 Typescript로 BST를 직접 구현해 보라는 질문을 받았는데 제대로 구현하지 못했다. 그래서 중요한 개념을 복습할 겸 하나씩 정리해 보고자 한다. with Codex&lt;/p&gt;
&lt;p&gt;이 글은 &lt;strong&gt;정수 값만 저장하는 Binary Search Tree(BST)&lt;/strong&gt; 를 &lt;code&gt;TreeNode&lt;/code&gt;, &lt;code&gt;BinarySearchTree&lt;/code&gt; 두 클래스로 직접 구현하는 흐름을 정리한 노트입니다. 먼저 의사코드로 생각을 고정하고, 그 다음 그림으로 포인터 이동을 확인한 뒤, 마지막에 TypeScript 코드로 옮깁니다.&lt;/p&gt;
&lt;p&gt;이 구현의 규칙은 네 가지입니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;value&lt;/code&gt;는 정수만 허용합니다.&lt;/li&gt;
&lt;li&gt;한 노드의 왼쪽 서브트리에는 더 작은 값만 둡니다.&lt;/li&gt;
&lt;li&gt;한 노드의 오른쪽 서브트리에는 더 큰 값만 둡니다.&lt;/li&gt;
&lt;li&gt;중복 값은 삽입하지 않고 &lt;code&gt;false&lt;/code&gt;를 반환합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;1. BST 규칙부터 잡기&lt;/h2&gt;
&lt;p&gt;BST는 이름 그대로 “검색을 빠르게 하기 위한 이진 트리”입니다. 핵심은 노드 하나를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽에 둔다는 점입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;1432&quot; data-origin-height=&quot;1069&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RPYKt/dJMcafgf5p5/CJXKGN7pQb5FzTKCcmmJ5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RPYKt/dJMcafgf5p5/CJXKGN7pQb5FzTKCcmmJ5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RPYKt/dJMcafgf5p5/CJXKGN7pQb5FzTKCcmmJ5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRPYKt%2FdJMcafgf5p5%2FCJXKGN7pQb5FzTKCcmmJ5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1432&quot; height=&quot;1069&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;1432&quot; data-origin-height=&quot;1069&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;의사코드로 쓰면 이렇게 시작할 수 있습니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;BST 규칙

어떤 node가 있을 때
  node.left에 있는 모든 값은 node.value보다 작다
  node.right에 있는 모든 값은 node.value보다 크다

값을 찾거나 넣을 때
  비교 대상 value가 node.value보다 작으면 왼쪽으로 간다
  비교 대상 value가 node.value보다 크면 오른쪽으로 간다
  같으면 찾은 것이다&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;이 규칙 덕분에 모든 노드를 무조건 훑지 않고, 비교할 때마다 탐색 범위를 왼쪽 또는 오른쪽으로 줄일 수 있습니다.&lt;/p&gt;
&lt;h2&gt;2. 클래스 책임 나누기&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;TreeNode&lt;/code&gt;는 값 하나와 왼쪽/오른쪽 포인터를 책임지고, &lt;code&gt;BinarySearchTree&lt;/code&gt;는 루트 노드와 삽입, 검색, 삭제, 순회 같은 동작을 책임집니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled-2025-11-06-1204.png&quot; data-origin-width=&quot;1532&quot; data-origin-height=&quot;734&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/banwu8/dJMcacRgV3h/Mq3RpP3MfPIS4NKDKzEL3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/banwu8/dJMcacRgV3h/Mq3RpP3MfPIS4NKDKzEL3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/banwu8/dJMcacRgV3h/Mq3RpP3MfPIS4NKDKzEL3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbanwu8%2FdJMcacRgV3h%2FMq3RpP3MfPIS4NKDKzEL3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1532&quot; height=&quot;734&quot; data-filename=&quot;Untitled-2025-11-06-1204.png&quot; data-origin-width=&quot;1532&quot; data-origin-height=&quot;734&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;먼저 &lt;code&gt;TreeNode&lt;/code&gt; 의사코드는 단순합니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CLASS TreeNode
  value
  left
  right

  CONSTRUCTOR(value)
    if value is not integer
      throw error

    this.value = value
    this.left = null
    this.right = null&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;TypeScript에서는 &lt;code&gt;number&lt;/code&gt; 타입만으로 정수를 보장할 수 없습니다. &lt;code&gt;1.5&lt;/code&gt;도 &lt;code&gt;number&lt;/code&gt;이기 때문입니다. 그래서 런타임에서 &lt;code&gt;Number.isInteger(value)&lt;/code&gt;로 한 번 더 검사합니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function assertInteger(value: number): void {
  if (!Number.isInteger(value)) {
    throw new TypeError(&amp;quot;value must be an integer&amp;quot;);
  }
}

class TreeNode {
  value: number;
  left: TreeNode | null;
  right: TreeNode | null;

  constructor(value: number) {
    assertInteger(value);
    this.value = value;
    this.left = null;
    this.right = null;
  }
}&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;3. insert(value) 의사코드&lt;/h2&gt;
&lt;p&gt;삽입은 루트부터 시작해서 비교하며 내려갑니다. 값이 현재 노드보다 작으면 왼쪽, 크면 오른쪽입니다. 내려가다가 &lt;code&gt;null&lt;/code&gt; 포인터를 만나면 그 자리가 새 노드의 위치입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;3.png&quot; data-origin-width=&quot;1408&quot; data-origin-height=&quot;1117&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tCcCe/dJMcagsEkT4/5EWgeanzabsEdgSukTlT7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tCcCe/dJMcagsEkT4/5EWgeanzabsEdgSukTlT7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tCcCe/dJMcagsEkT4/5EWgeanzabsEdgSukTlT7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtCcCe%2FdJMcagsEkT4%2F5EWgeanzabsEdgSukTlT7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1408&quot; height=&quot;1117&quot; data-filename=&quot;3.png&quot; data-origin-width=&quot;1408&quot; data-origin-height=&quot;1117&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;METHOD insert(value)
  if value is not integer
    throw error

  if root is null
    root = new TreeNode(value)
    return true

  current = root

  LOOP
    if value == current.value
      return false

    if value &amp;lt; current.value
      if current.left is null
        current.left = new TreeNode(value)
        return true

      current = current.left
    else
      if current.right is null
        current.right = new TreeNode(value)
        return true

      current = current.right&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;이 의사코드를 그대로 TypeScript로 바꾸면 다음과 같습니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;insert(value: number): boolean {
  assertInteger(value);

  if (this.root === null) {
    this.root = new TreeNode(value);
    return true;
  }

  let current: TreeNode = this.root;

  while (true) {
    if (value === current.value) {
      return false;
    }

    if (value &amp;lt; current.value) {
      if (current.left === null) {
        current.left = new TreeNode(value);
        return true;
      }

      current = current.left;
    } else {
      if (current.right === null) {
        current.right = new TreeNode(value);
        return true;
      }

      current = current.right;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;while (true)&lt;/code&gt;를 써도 괜찮은 이유는 내부에서 반드시 &lt;code&gt;return&lt;/code&gt;하는 조건이 있기 때문입니다. 빈 자리를 찾으면 &lt;code&gt;true&lt;/code&gt;, 중복 값을 만나면 &lt;code&gt;false&lt;/code&gt;로 끝납니다.&lt;/p&gt;
&lt;h2&gt;4. contains(value) 의사코드&lt;/h2&gt;
&lt;p&gt;검색은 삽입보다 더 단순합니다. 새 노드를 만들지 않고, 같은 비교 규칙으로 내려가면서 값이 있는지만 확인합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;4.png&quot; data-origin-width=&quot;1779&quot; data-origin-height=&quot;1022&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bX5Mmy/dJMcagGf27o/Sggke23e8c4XCS0ONk29EK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bX5Mmy/dJMcagGf27o/Sggke23e8c4XCS0ONk29EK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bX5Mmy/dJMcagGf27o/Sggke23e8c4XCS0ONk29EK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbX5Mmy%2FdJMcagGf27o%2FSggke23e8c4XCS0ONk29EK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1779&quot; height=&quot;1022&quot; data-filename=&quot;4.png&quot; data-origin-width=&quot;1779&quot; data-origin-height=&quot;1022&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;METHOD contains(value)
  if value is not integer
    throw error

  current = root

  while current is not null
    if value == current.value
      return true

    if value &amp;lt; current.value
      current = current.left
    else
      current = current.right

  return false&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;TypeScript 코드입니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;contains(value: number): boolean {
  assertInteger(value);

  let current = this.root;

  while (current !== null) {
    if (value === current.value) {
      return true;
    }

    current = value &amp;lt; current.value ? current.left : current.right;
  }

  return false;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;current&lt;/code&gt;가 &lt;code&gt;null&lt;/code&gt;이 되었다는 것은 더 내려갈 자식이 없다는 뜻입니다. 즉, 그 값은 트리에 없습니다.&lt;/p&gt;
&lt;h2&gt;5. remove(value) 의사코드&lt;/h2&gt;
&lt;p&gt;삭제는 삽입/검색보다 한 단계 어렵습니다. 삭제할 노드의 자식 개수에 따라 처리가 달라지기 때문입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;5.png&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;925&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CY18u/dJMcafm2jkY/QcKR1USgTkqVHqeoOVkYk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CY18u/dJMcafm2jkY/QcKR1USgTkqVHqeoOVkYk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CY18u/dJMcafm2jkY/QcKR1USgTkqVHqeoOVkYk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCY18u%2FdJMcafm2jkY%2FQcKR1USgTkqVHqeoOVkYk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1760&quot; height=&quot;925&quot; data-filename=&quot;5.png&quot; data-origin-width=&quot;1760&quot; data-origin-height=&quot;925&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;세 경우만 기억하면 됩니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;자식이 없으면 부모가 그 자리를 &lt;code&gt;null&lt;/code&gt;로 바꿉니다.&lt;/li&gt;
&lt;li&gt;자식이 하나면 삭제할 노드 대신 그 자식을 부모에게 연결합니다.&lt;/li&gt;
&lt;li&gt;자식이 둘이면 오른쪽 서브트리에서 가장 작은 값, 즉 successor를 찾아 현재 노드의 값으로 복사한 뒤 successor 원본 노드를 삭제합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;METHOD remove(value)
  root, removed = removeNode(root, value)
  return removed

METHOD removeNode(node, value)
  if node is null
    return null, false

  if value &amp;lt; node.value
    node.left, removed = removeNode(node.left, value)
    return node, removed

  if value &amp;gt; node.value
    node.right, removed = removeNode(node.right, value)
    return node, removed

  // 여기까지 왔다면 node.value == value

  if node has no child
    return null, true

  if node has only right child
    return node.right, true

  if node has only left child
    return node.left, true

  successor = find minimum node in node.right
  node.value = successor.value
  node.right, _ = removeNode(node.right, successor.value)
  return node, true&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;삭제는 부모 포인터를 직접 들고 다니는 방식으로도 구현할 수 있습니다. 여기서는 재귀 함수가 “삭제 후 이 자리에 다시 연결할 노드”를 반환하게 만들었습니다. 그래서 루트를 삭제하는 경우도 같은 코드로 처리됩니다.&lt;/p&gt;
&lt;h2&gt;6. traversal 의사코드&lt;/h2&gt;
&lt;p&gt;순회는 트리의 모든 값을 어떤 순서로 방문할지 정하는 규칙입니다. BST에서 가장 자주 쓰는 것은 &lt;code&gt;inOrder&lt;/code&gt;입니다. 왼쪽 → 현재 노드 → 오른쪽 순서로 방문하면 값이 오름차순으로 나옵니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;6.png&quot; data-origin-width=&quot;1913&quot; data-origin-height=&quot;1074&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AS3nY/dJMcaftJpIm/X8uxFoqW6UQ6JnrWDfVMk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AS3nY/dJMcaftJpIm/X8uxFoqW6UQ6JnrWDfVMk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AS3nY/dJMcaftJpIm/X8uxFoqW6UQ6JnrWDfVMk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAS3nY%2FdJMcaftJpIm%2FX8uxFoqW6UQ6JnrWDfVMk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1913&quot; height=&quot;1074&quot; data-filename=&quot;6.png&quot; data-origin-width=&quot;1913&quot; data-origin-height=&quot;1074&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;METHOD inOrder()
  result = []

  FUNCTION walk(node)
    if node is null
      return

    walk(node.left)
    result.push(node.value)
    walk(node.right)

  walk(root)
  return result&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;preOrder&lt;/code&gt;와 &lt;code&gt;postOrder&lt;/code&gt;는 방문 위치만 바뀝니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;preOrder:  node → left → right
inOrder:   left → node → right
postOrder: left → right → node&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;7. 최종 TypeScript 구현&lt;/h2&gt;
&lt;p&gt;아래 코드는 위 의사코드를 하나로 합친 완성본입니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function assertInteger(value: number): void {
  if (!Number.isInteger(value)) {
    throw new TypeError(&amp;quot;value must be an integer&amp;quot;);
  }
}

class TreeNode {
  value: number;
  left: TreeNode | null;
  right: TreeNode | null;

  constructor(value: number) {
    assertInteger(value);
    this.value = value;
    this.left = null;
    this.right = null;
  }
}

class BinarySearchTree {
  root: TreeNode | null;

  constructor() {
    this.root = null;
  }

  insert(value: number): boolean {
    assertInteger(value);

    if (this.root === null) {
      this.root = new TreeNode(value);
      return true;
    }

    let current: TreeNode = this.root;

    while (true) {
      if (value === current.value) {
        return false;
      }

      if (value &amp;lt; current.value) {
        if (current.left === null) {
          current.left = new TreeNode(value);
          return true;
        }

        current = current.left;
      } else {
        if (current.right === null) {
          current.right = new TreeNode(value);
          return true;
        }

        current = current.right;
      }
    }
  }

  contains(value: number): boolean {
    assertInteger(value);

    let current = this.root;

    while (current !== null) {
      if (value === current.value) {
        return true;
      }

      current = value &amp;lt; current.value ? current.left : current.right;
    }

    return false;
  }

  remove(value: number): boolean {
    assertInteger(value);

    const [nextRoot, removed] = this.removeNode(this.root, value);
    this.root = nextRoot;
    return removed;
  }

  inOrder(): number[] {
    const result: number[] = [];

    const walk = (node: TreeNode | null): void =&amp;gt; {
      if (node === null) {
        return;
      }

      walk(node.left);
      result.push(node.value);
      walk(node.right);
    };

    walk(this.root);
    return result;
  }

  preOrder(): number[] {
    const result: number[] = [];

    const walk = (node: TreeNode | null): void =&amp;gt; {
      if (node === null) {
        return;
      }

      result.push(node.value);
      walk(node.left);
      walk(node.right);
    };

    walk(this.root);
    return result;
  }

  postOrder(): number[] {
    const result: number[] = [];

    const walk = (node: TreeNode | null): void =&amp;gt; {
      if (node === null) {
        return;
      }

      walk(node.left);
      walk(node.right);
      result.push(node.value);
    };

    walk(this.root);
    return result;
  }

  private removeNode(node: TreeNode | null, value: number): [TreeNode | null, boolean] {
    if (node === null) {
      return [null, false];
    }

    if (value &amp;lt; node.value) {
      const [nextLeft, removed] = this.removeNode(node.left, value);
      node.left = nextLeft;
      return [node, removed];
    }

    if (value &amp;gt; node.value) {
      const [nextRight, removed] = this.removeNode(node.right, value);
      node.right = nextRight;
      return [node, removed];
    }

    if (node.left === null &amp;amp;&amp;amp; node.right === null) {
      return [null, true];
    }

    if (node.left === null) {
      return [node.right, true];
    }

    if (node.right === null) {
      return [node.left, true];
    }

    const successor = this.findMinNode(node.right);
    node.value = successor.value;

    const [nextRight] = this.removeNode(node.right, successor.value);
    node.right = nextRight;

    return [node, true];
  }

  private findMinNode(node: TreeNode): TreeNode {
    let current = node;

    while (current.left !== null) {
      current = current.left;
    }

    return current;
  }
}&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;8. 사용 예시&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-typescript&quot;&gt;const bst = new BinarySearchTree();

for (const value of [8, 3, 10, 1, 6, 14, 4, 7, 13]) {
  bst.insert(value);
}

console.log(bst.inOrder());
// [1, 3, 4, 6, 7, 8, 10, 13, 14]

console.log(bst.contains(6));
// true

console.log(bst.contains(5));
// false

console.log(bst.insert(6));
// false: 중복 값은 삽입하지 않음

console.log(bst.remove(3));
// true

console.log(bst.inOrder());
// [1, 4, 6, 7, 8, 10, 13, 14]&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;9. 스스로 점검할 부분&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;insert&lt;/code&gt;에서 &lt;code&gt;root === null&lt;/code&gt;인 첫 삽입을 따로 처리했는가?&lt;/li&gt;
&lt;li&gt;작으면 왼쪽, 크면 오른쪽이라는 규칙이 &lt;code&gt;insert&lt;/code&gt;와 &lt;code&gt;contains&lt;/code&gt;에 똑같이 적용되는가?&lt;/li&gt;
&lt;li&gt;중복 값을 어떻게 처리할지 정했는가? 이 글에서는 &lt;code&gt;false&lt;/code&gt;를 반환합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;remove&lt;/code&gt;에서 리프, 자식 1개, 자식 2개 케이스를 모두 처리했는가?&lt;/li&gt;
&lt;li&gt;&lt;code&gt;inOrder()&lt;/code&gt; 결과가 항상 정렬된 배열인지 확인했는가?&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Number.isInteger(value)&lt;/code&gt;로 정수 검사를 하고 있는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;10. 시간 복잡도&lt;/h2&gt;
&lt;p&gt;트리의 높이를 &lt;code&gt;h&lt;/code&gt;라고 하면 &lt;code&gt;insert&lt;/code&gt;, &lt;code&gt;contains&lt;/code&gt;, &lt;code&gt;remove&lt;/code&gt;는 평균적으로 &lt;code&gt;O(h)&lt;/code&gt;입니다. 트리가 균형에 가까우면 &lt;code&gt;h = log n&lt;/code&gt;이므로 &lt;code&gt;O(log n)&lt;/code&gt;에 가깝고, 한쪽으로 치우치면 &lt;code&gt;h = n&lt;/code&gt;이 되어 &lt;code&gt;O(n)&lt;/code&gt;까지 나빠질 수 있습니다.&lt;/p&gt;
&lt;p&gt;이 과제의 핵심은 “클래스를 만드는 법”보다 “비교 결과에 따라 포인터를 왼쪽 또는 오른쪽으로 이동시키는 감각”입니다. 그 감각만 잡히면 삽입과 검색은 거의 같은 코드로 보이고, 삭제도 세 가지 케이스로 나누어 차분히 처리할 수 있습니다.&lt;/p&gt;</description>
      <category>Computer Sci./Data Structure</category>
      <category>BST</category>
      <category>이진탐색트리</category>
      <category>자료구조</category>
      <category>컴퓨터공학</category>
      <category>프로그래밍</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/541</guid>
      <comments>https://yolo2429.tistory.com/541#entry541comment</comments>
      <pubDate>Fri, 10 Jul 2026 20:11:02 +0900</pubDate>
    </item>
    <item>
      <title>위클리 인사이트 By 오웬 (Y26W28)</title>
      <link>https://yolo2429.tistory.com/537</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image_1783408062193580.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lxGQU/dJMcaaeTgJ4/G4HINCOnsZRhJDpOAEEFCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lxGQU/dJMcaaeTgJ4/G4HINCOnsZRhJDpOAEEFCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lxGQU/dJMcaaeTgJ4/G4HINCOnsZRhJDpOAEEFCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlxGQU%2FdJMcaaeTgJ4%2FG4HINCOnsZRhJDpOAEEFCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;400&quot; data-filename=&quot;image_1783408062193580.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;26.07.06 ~ 26.07.10&lt;/i&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;나의 필요에 의한 스킬을 처음 만들어 보았다&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 지금까지 누군가가 만든 스킬을 사용하는 것에 익숙했는데, 최근에 처음으로 내가 필요에 의해서 반복되는 작업을 스킬로 만든 사례가 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 뱅크샐러드에서 가계부 관리를 한다. 뱅크샐러드와 내 모든 은행과, 카드를 연동하면 실시간으로 나의 자산 내역과 지출, 수입 내역을 관리할 수 있어서 편리하게 잘 쓰고 있다. 뱅크샐러드에서 이 모든 자산 관련 내용을 엑셀 파일로 추출할 수 있는데, 한 달에 한 번씩 내가 수동으로 하고 있던 재무관리를 AI 스킬을 만들어서 하게 해 보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뱅크 샐러드 앱에서 파일 추출 후 Codex에 파일 업로드까지만 내가 하고 내가 만든 재무분석 스킬을 돌리면 AI가 알아서,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나의 현재 자산 현황 (현금, 주식, 연금 등 비율 포함)&lt;/li&gt;
&lt;li&gt;나의 최근 한 달 수입과 지출 카테고리 분석&lt;/li&gt;
&lt;li&gt;나의 주식 포트폴리오 분석 및 리밸런싱 가이드&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등의 리포트를 만들어서 구글 스프레드시트에 업로드해 준다. 상당히 편하다. 나는 그냥 커피 한 잔 마시면서 기다리면 몇 분 만에 AI가 알아서 내 자산을 분석해 주는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 이와 같이 AI를 내 삶에서 반복되던 작업에 사용할 수 있는 창구를 찾아보아야겠다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;집을 마련하는 것에 대한 고민&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 나는 앞으로 사랑하는 사람과 함께 살 집을 마련하는 데 관심이 많다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;나의 첫 번째 부동산 교과서&amp;gt;라는 송희구 작가님의 책도 사서 읽어 보고 있다. 요즘에는 데이트를 할 때 네이버 부동산에서 관심 있는 지역들의 매물들을 보는 것이 소소한 취미가 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마음 같아서는 신축, 상급지, 아파트, 매매, 역세권 등등 다 챙기고 싶지만 예산이 현실적으로 제한이 있다 보니, 무엇이 더 우리에게 중요한 조건인지를 살펴보게 된다. 예를 들면 나는 구축 아파트에 살 수는 있지만, 역에서 멀거나 회사에서 먼 집은 싫다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 집을 사는 건 마음대로 할 수 있더라도, 파는 건 우리 마음대로 되는 것이 아니기 때문에 처음에는 전세로 시작해야겠다는 마음이 들었다. 그런데 여기서 또 고민은 전세에 많은 돈이 묶여 있는 것이 아깝다는 점과 그 시간 동안 다른 집들은 가격이 오를 텐데 이에 대한 상대적 박탈감 등이 걱정 요인으로 떠올랐다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 데이트를 하면서 우리가 매물을 눈여겨본 여러 지역들을 돌아다녀 볼 생각이다. 이렇게 열 군데 정도 돌아다녀 보면 또 생각이 바뀌게 되지 않을까 하는 생각이 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Weekly Insight</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/537</guid>
      <comments>https://yolo2429.tistory.com/537#entry537comment</comments>
      <pubDate>Fri, 10 Jul 2026 18:00:50 +0900</pubDate>
    </item>
    <item>
      <title>[LeetCode] 698. Partition to K Equal Sum Subsets (Medium)</title>
      <link>https://yolo2429.tistory.com/540</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제를 풀기 위해서는 비트마스크 DP에 대해서 알아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열의 길이가 최대 16이기 때문에, 각 원소를 썼는지 안 썼는지를 하나의 비트마스크로 표현할 수 있다. 그리고 어떤 원소들을 이미 사용했는지 알 수 있으면, 지금 만들고 있는 부분집합의 합이 목표값에서 어디까지 차 있는지도 계산할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;700&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtAeOR/dJMcafHiUeX/b5U2ukB82k0od8DlikoR80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtAeOR/dJMcafHiUeX/b5U2ukB82k0od8DlikoR80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtAeOR/dJMcafHiUeX/b5U2ukB82k0od8DlikoR80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtAeOR%2FdJMcafHiUeX%2Fb5U2ukB82k0od8DlikoR80%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;700&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;700&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;0. 필요한 개념 먼저 정리하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 이 문제의 목표는 k개의 부분집합을 만드는 것이다. 모든 부분집합의 합이 같아야 하므로, 전체 합을 k로 나눈 값이 각 부분집합의 목표 합이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 nums = [4,3,2,3,5,2,1], k = 4라면 전체 합은 20이고 각 부분집합의 목표 합은 5다. 따라서 (5), (4,1), (3,2), (3,2)처럼 모든 그룹이 합 5로 끝나야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 전제는 두 가지다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전체 합이 k로 나누어떨어지지 않으면 답은 바로 false다.&lt;/li&gt;
&lt;li&gt;어떤 숫자가 목표 합보다 크면 그 숫자는 어떤 부분집합에도 들어갈 수 없으므로 답은 false다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그다음 필요한 개념이 비트마스크다. 배열의 원소가 최대 16개이므로, 2^16개의 사용 상태를 충분히 탐색할 수 있다. 예를 들어 정렬된 배열이 [5, 4, 3, 3, 2, 2, 1]일 때, 마스크 0000011은 앞의 두 원소 5, 4를 이미 사용했다는 뜻으로 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;700&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RPOjn/dJMcafHiUeZ/agTjCYzrxbuwtfFPEnQEE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RPOjn/dJMcafHiUeZ/agTjCYzrxbuwtfFPEnQEE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RPOjn/dJMcafHiUeZ/agTjCYzrxbuwtfFPEnQEE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRPOjn%2FdJMcafHiUeZ%2FagTjCYzrxbuwtfFPEnQEE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;700&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;700&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DP 상태는 다음처럼 정의한다.&lt;/p&gt;
&lt;pre id=&quot;code_1783523524864&quot; class=&quot;fix&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;dp[mask] = mask에 포함된 원소들을 사용했을 때,
           현재 채우는 중인 부분집합의 합&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 현재 부분집합의 합은 항상 target보다 작게 유지하면 된다. 부분집합 하나가 정확히 target이 되는 순간에는 다음 부분집합을 새로 채우기 시작하므로, 값을 target으로 나눈 나머지로 저장한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 dp[mask] = usedSum % target이라고 생각할 수 있다. 도달할 수 없는 상태는 -1로 둔다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 접근 : 문제를 단순화 하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 정수 배열 nums를 k개의 비어 있지 않은 부분집합으로 나누되, 모든 부분집합의 합이 같게 만들 수 있는지 묻는다. k는 nums.length 이하이고, nums.length는 최대 16이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 부분집합을 직접 만들어보면 경우의 수가 매우 커진다. 하지만 원소 수가 16개로 작다는 점을 이용하면, &quot;어떤 원소를 이미 골랐는가&quot;를 상태로 삼는 DP가 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 전체 합을 sum이라고 하자.&lt;/p&gt;
&lt;pre id=&quot;code_1783523524864&quot; class=&quot;angelscript&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;const total = nums.reduce((acc, cur) =&amp;gt; acc + cur, 0);

if (total % k !== 0) {
  return false;
}

const target = total / k;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 문제는 nums의 모든 원소를 사용하면서, 매번 target을 넘지 않게 숫자를 추가할 수 있는지 확인하는 문제로 바뀐다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 핵심 아이디어&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dp[mask]가 -1이 아니라면, 그 상태는 실제로 만들 수 있는 상태다. 이 상태에서 아직 사용하지 않은 원소 nums[i]를 하나 더 넣어본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 부분집합의 합이 dp[mask]이고, 다음 숫자가 nums[i]라면 다음 합은 다음과 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1783523524864&quot; class=&quot;inform7&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;next = dp[mask] + nums[i]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 next &amp;gt; target이면 현재 부분집합이 목표 합을 초과하므로 그 선택은 버린다. 반대로 next &amp;lt;= target이면 다음 마스크로 이동할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;700&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVpaTt/dJMcafHiUeY/oQ9ARO7a3JpH5kAcOiux5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVpaTt/dJMcafHiUeY/oQ9ARO7a3JpH5kAcOiux5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVpaTt/dJMcafHiUeY/oQ9ARO7a3JpH5kAcOiux5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVpaTt%2FdJMcafHiUeY%2FoQ9ARO7a3JpH5kAcOiux5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;700&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;700&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 상태의 값은 next % target으로 저장한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;next &amp;lt; target이면 아직 같은 부분집합을 채우는 중이다.&lt;/li&gt;
&lt;li&gt;next === target이면 부분집합 하나가 완성되었으므로 나머지가 0이 되고, 다음 부분집합을 새로 시작한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 모든 원소를 사용한 마스크 fullMask에 도달할 수 있고, 그때 나머지가 0이면 모든 부분집합이 정확히 target으로 끝난 것이다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 단계별로 구현하기&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-1. 목표 합 계산과 빠른 예외 처리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 합이 k로 나누어떨어지지 않으면 같은 합의 부분집합을 만들 수 없다. 또한 가장 큰 숫자가 target보다 크면 그 숫자를 담을 수 있는 부분집합이 없다.&lt;/p&gt;
&lt;pre id=&quot;code_1783523524864&quot; class=&quot;coffeescript&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;const total = nums.reduce((acc, cur) =&amp;gt; acc + cur, 0);

if (total % k !== 0) {
  return false;
}

const target = total / k;

nums.sort((a, b) =&amp;gt; b - a);

if (nums[0] &amp;gt; target) {
  return false;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내림차순 정렬은 필수는 아니지만, 큰 수부터 확인하면 불가능한 선택을 더 빨리 걸러낼 수 있다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-2. 비트마스크 DP 배열 준비하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원소가 n개라면 가능한 사용 상태는 2^n개다. 아무 원소도 사용하지 않은 상태 0은 만들 수 있으므로 dp[0] = 0으로 시작한다.&lt;/p&gt;
&lt;pre id=&quot;code_1783523524864&quot; class=&quot;processing&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;const n = nums.length;
const size = 1 &amp;lt;&amp;lt; n;
const dp = new Array(size).fill(-1);

dp[0] = 0;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dp[mask] === -1이면 아직 도달할 수 없는 상태이므로 전이를 시도하지 않는다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-3. 아직 쓰지 않은 숫자를 하나씩 추가하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 마스크에서 아직 사용하지 않은 원소를 골라본다. 목표 합을 넘지 않는 경우에만 다음 마스크를 reachable 상태로 만든다.&lt;/p&gt;
&lt;pre id=&quot;code_1783523524864&quot; class=&quot;angelscript&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;for (let mask = 0; mask &amp;lt; size; mask++) {
  if (dp[mask] === -1) {
    continue;
  }

  for (let i = 0; i &amp;lt; n; i++) {
    if ((mask &amp;amp; (1 &amp;lt;&amp;lt; i)) !== 0) {
      continue;
    }

    const next = dp[mask] + nums[i];

    if (next &amp;gt; target) {
      continue;
    }

    const nextMask = mask | (1 &amp;lt;&amp;lt; i);
    dp[nextMask] = next % target;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 같은 nextMask가 이미 도달 가능한 상태라면 다시 계산할 필요가 없다. 그래서 최종 구현에서는 dp[nextMask] !== -1인 경우를 건너뛴다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 최종 구현&lt;/h2&gt;
&lt;pre id=&quot;code_1783523524864&quot; class=&quot;angelscript&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;javascript&quot;&gt;&lt;code&gt;/**
 * @param {number[]} nums
 * @param {number} k
 * @return {boolean}
 */
var canPartitionKSubsets = function(nums, k) {
  const total = nums.reduce((acc, cur) =&amp;gt; acc + cur, 0);

  if (total % k !== 0) {
    return false;
  }

  const target = total / k;

  nums.sort((a, b) =&amp;gt; b - a);

  if (nums[0] &amp;gt; target) {
    return false;
  }

  const n = nums.length;
  const size = 1 &amp;lt;&amp;lt; n;
  const dp = new Array(size).fill(-1);

  dp[0] = 0;

  for (let mask = 0; mask &amp;lt; size; mask++) {
    if (dp[mask] === -1) {
      continue;
    }

    for (let i = 0; i &amp;lt; n; i++) {
      if ((mask &amp;amp; (1 &amp;lt;&amp;lt; i)) !== 0) {
        continue;
      }

      const next = dp[mask] + nums[i];

      if (next &amp;gt; target) {
        continue;
      }

      const nextMask = mask | (1 &amp;lt;&amp;lt; i);

      if (dp[nextMask] !== -1) {
        continue;
      }

      dp[nextMask] = next % target;
    }
  }

  return dp[size - 1] === 0;
};&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 시간복잡도&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;n을 nums.length라고 하자.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시간복잡도: O(n * 2^n)&lt;/li&gt;
&lt;li&gt;공간복잡도: O(2^n)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가능한 마스크가 2^n개이고, 각 마스크마다 최대 n개의 원소를 추가해보기 때문이다. 이 문제에서는 n &amp;lt;= 16이므로 이 방식이 충분히 가능하다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고자료&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;LeetCode: &lt;a href=&quot;https://leetcode.com/problems/partition-to-k-equal-sum-subsets/&quot;&gt;https://leetcode.com/problems/partition-to-k-equal-sum-subsets/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Computer Sci./Algorithms</category>
      <category>Algorithms</category>
      <category>bitmask</category>
      <category>dynamic programming</category>
      <category>javascript</category>
      <category>LeetCode</category>
      <category>memoization</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/540</guid>
      <comments>https://yolo2429.tistory.com/540#entry540comment</comments>
      <pubDate>Thu, 9 Jul 2026 00:09:47 +0900</pubDate>
    </item>
    <item>
      <title>[LeetCode] 1125. Smallest Sufficient Team (Hard)</title>
      <link>https://yolo2429.tistory.com/539</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제를 풀기 위해서는 비트마스크 DP에 대해서 알아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비트마스크는 여러 개의 참/거짓 상태를 하나의 정수로 압축하는 방법이다. 이 문제에서는 필요한 스킬의 개수가 최대 16개이므로, 각 스킬을 비트 하나에 대응시키면 어떤 팀이 가진 스킬 조합을 숫자 하나로 표현할 수 있다. 그리고 그 숫자를 DP의 상태로 쓰면, &quot;이 스킬 조합을 만들 수 있는 가장 작은 팀&quot;을 차근차근 갱신할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width: 100%; height: auto;&quot; src=&quot;data:image/png;base64,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WrF4mppNm8Qb30QtvE/Pjs9evN6648Cg4VPmLFxdrkyJbFmzeHv7PH768tkL5QqXLV08URXDovP47qX87T/+nxyL505Uf7BQbZ1ED3NXpVKZLPZ2sacfOHwqvkLC2QtWbdi8J8aeFtvzH7U3i8V/FX/zo1PQAvmTPvjNgiXrzl649t83vngtpJ+0PNZSVucOLSJlsjET596597hT9yGmpibFihS0s7WxtbFSKBSeXt4e372ePHspnqzMzEyWzJv8W4OkD3stzWtE7F1CtVxO2fv16tyvV2fVs4WFhT38f0e7V67fUd0O89CR01F1qkuXKqrmIKsaeF1LyzNklGw/YryPr1989agT3GE6/jH47v3H9va20yYMa9akrvjY5avbt1Xrti9btemf2cscsth1avf7n3+0i/rIsZPn4wyEl67cUigU+fLm+ntQzArSpUsW/atft9ETZl+4fDN2IEyUKTMWiz1F/6j5b/VXvz/+/KNdnE0cK1csc/Pigb0Hjs9duPrdh897D5zYe+DEgD5dp00cpvor9HR1e/foMGfh6qkzF9epWTlGA6XAwCCx6Wa7Vk2S34WVaouXb4iqhF+rRqXEjmmMjE4SgdD1i/voCbOOn1IOSZzbKcee7StSqal6QEDQ+KnzxdNHYef8h/asjTqAHbLYHdv37+/teru8fNul59C2rRrPmjZKxdPWh4+fL1256dDRM3K53MrSYs4/oxM7NrQgCH/0HuHx3TN5v0nIlzfXknmTEpxNLpd36/W3WL3H3t62UMG8/gGBL1zeHD918ez5a8sWTo3zufUfvf/rFG5g325TJwxNzqree/Ak6nVURV8tLa01y2f81rz7kWNnew0YM33S31H9pL95+2HE2JkPHj03MTFePHeikGz58jjt2bo89vQDh0/17KduC4oYTIyMEtsmIVGWzJvU7Lc602cve/zUJXprjWxZs4wa1qdju+ZJKwbx9PIRA+GDh0+TuYaWFuaJHU4jUYYO7BlnM5LDx87E14jowcNnUa9VVCm/c++RihECPL18xLrEyRkN9d37TwkOV5hMYeHhX92+ffr0NU/unKqLX9LyWEtxf3Ru3aBu9RVrth45fvbT5683bt2PPU++vLlaNK3f589OSX6eKM1rhJijki/Oc9Ge/cejakas27BTdSCMGipAvOIkGAg19rqWlmfIGEXTPnFVGRWv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SUWLFjnW74UTkxFCAAAooCqklDvWb4ET3EnH+g0AAABwbAjCgnsuHwAAQJ4ShBAuV+AAAAROEBY4BgnxBeMEmPADfMEAjguCsCAO1GhC8oj5RcldBpk5Vnz3AHKLWUYL9A93q1CQu98oyAeNzrvA4hPk0VfLBwuQ66xDWIAcvKIX5BF/XCevj12akLyrQUcwgFwkCAsWTUg+8FuKfDt2yUJyfWDQEQwgdwnCAkcTkqf8liKPOHaRDxzBAHKdSWUKHP+3w7eL45FjF75jAMcjI4QFlz+3k4v8WCffOHaR6xzBAPKOIAQAAAiUU0YBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAACJQgBAAAiYfo/etE+3CbQyB0AAAAASUVORK5CYII=&quot; alt=&quot;스킬을 비트마스크로 바꾸기&quot; /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;0. 필요한 개념 먼저 정리하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 비트마스크부터 보자. 예를 들어 필요한 스킬이 &lt;code&gt;[&quot;java&quot;, &quot;nodejs&quot;, &quot;reactjs&quot;]&lt;/code&gt;라면 다음처럼 위치를 정할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;java&lt;/code&gt; -&amp;gt; 0번 비트&lt;/li&gt;
&lt;li&gt;&lt;code&gt;nodejs&lt;/code&gt; -&amp;gt; 1번 비트&lt;/li&gt;
&lt;li&gt;&lt;code&gt;reactjs&lt;/code&gt; -&amp;gt; 2번 비트&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 &lt;code&gt;[&quot;nodejs&quot;, &quot;reactjs&quot;]&lt;/code&gt;를 가진 사람은 &lt;code&gt;110&lt;/code&gt;이라는 마스크로 표현된다. 팀에 사람을 추가할 때는 기존 팀의 마스크와 새 사람의 마스크를 OR 연산하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const nextMask = mask | personMask;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 DP 상태를 정의할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;dp[mask] = mask에 해당하는 스킬 조합을 만들 수 있는 가장 작은 팀&lt;/code&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 &lt;code&gt;dp[0101] = [0, 3]&lt;/code&gt;이라면, 사람 0번과 3번을 고르면 &lt;code&gt;0101&lt;/code&gt;에 해당하는 스킬들을 커버할 수 있고, 지금까지 발견한 방법 중 팀 크기가 가장 작다는 뜻이다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 접근 : 문제를 단순화 하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 필요한 스킬 목록 &lt;code&gt;req_skills&lt;/code&gt;와 각 사람이 가진 스킬 목록 &lt;code&gt;people&lt;/code&gt;이 주어졌을 때, 모든 필요 스킬을 커버하는 가장 작은 사람 인덱스 집합을 찾는 것이다. 정답은 여러 개일 수 있고, 그중 아무 하나를 반환하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사람 수는 최대 60명이다. 사람의 모든 부분집합을 검사하면 &lt;code&gt;2^60&lt;/code&gt;이 되므로 불가능하다. 하지만 필요한 스킬 수는 최대 16개다. 따라서 사람 조합을 직접 상태로 두지 말고, 스킬 조합을 상태로 두면 가능한 상태 수는 최대 &lt;code&gt;2^16 = 65536&lt;/code&gt;개로 줄어든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 포인트는 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사람은 최대 60명이지만, 스킬 조합은 최대 65536개뿐이다.&lt;/li&gt;
&lt;li&gt;각 사람을 하나씩 보면서, 그 사람을 추가했을 때 더 작은 팀이 만들어지는지만 확인하면 된다.&lt;/li&gt;
&lt;li&gt;최종 목표 상태는 모든 비트가 켜진 &lt;code&gt;fullMask&lt;/code&gt;다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 핵심 아이디어&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 사람을 순서대로 보면서 DP를 갱신한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 어떤 스킬 조합 &lt;code&gt;mask&lt;/code&gt;를 만들 수 있다고 하자. 여기에 사람 &lt;code&gt;i&lt;/code&gt;를 추가하면 새 조합은 &lt;code&gt;mask | personMask&lt;/code&gt;가 된다. 만약 이 새 조합을 만들 팀이 아직 없거나, 기존 팀보다 &lt;code&gt;dp[mask] + i&lt;/code&gt;가 더 작다면 갱신한다.&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width: 100%; height: auto;&quot; src=&quot;data:image/png;base64,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AgAAAIBIEQgBAAAAQKQIhAAAAAAgUgRCAAAAABApAiEAAAAAiBSBEAAAAABEikAIAAAAACJFIAQAAAAAkSIQAgAAAIBIEQgBAAAAQKQIhAAAAAAgUgRCAAAAABApAiEAAAAAiBSBEAAAAABEikAIAAAAACJFIAQAAAAAkSIQAgAAAIBIEQgBAAAAQKQIhAAAAAAgUgRCAAAAABApAiEAAAAAiBSBEAAAAABEikAIAAAAACJFIAQAAAAAkSIQAgAAAIBIEQgBAAAAQKQIhAAAAAAgUgRCAAAAABApAiEAAAAAiBSBEAAAAABEikAIAAAAACJFIAQAAAAAkSIQAgAAAIBIEQgBAAAAQKQIhAAAAAAgUgRCAAAAABApAiEAAAAAiBSBEAAAAABEikAIAAAAACJFIAQAAAAAkSIQAgAAAIBIEQgBAAAAQKQIhAAAAAAgUgRCAAAAABApAiEAAAAAiBSBEAAAAABEikAIAAAAACJFIAQAAAAAkSIQAgAAAIBIEQgBAAAAQKQIhAAAAAAgUgRCAAAAABApAiEAAAAAiBSBEAAAAABEikAIAAAAACJFIAQAAAAAkSIQAgAAAIAgTv8DW/1W7EOj4uAAAAAASUVORK5CYII=&quot; alt=&quot;비트마스크 DP 전이&quot; /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주의할 점은 한 사람을 처리하는 동안 그 사람을 같은 팀에 여러 번 넣지 않도록, 갱신 전의 DP 배열을 복사해서 기준으로 삼는 것이다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const before = dp.slice();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 현재 사람 &lt;code&gt;i&lt;/code&gt;를 추가하는 전이는 항상 &quot;사람 &lt;code&gt;i&lt;/code&gt;를 보기 전까지 만들어진 팀&quot;에서만 출발한다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 단계별로 구현하기&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-1. 스킬을 비트 위치로 바꾸기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 필요한 스킬마다 비트 위치를 부여한다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const skillToBit = new Map();
for (let i = 0; i &amp;lt; req_skills.length; i++) {
  skillToBit.set(req_skills[i], i);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 각 사람의 스킬 목록도 하나의 마스크로 바꾼다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let personMask = 0;
for (const skill of people[i]) {
  personMask |= 1 &amp;lt;&amp;lt; skillToBit.get(skill);
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-2. DP 배열 초기화하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;dp[mask]&lt;/code&gt;에는 해당 스킬 조합을 만드는 사람 인덱스 배열을 저장한다. 아직 만들 수 없는 조합은 &lt;code&gt;null&lt;/code&gt;로 둔다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const fullMask = (1 &amp;lt;&amp;lt; req_skills.length) - 1;
const dp = Array(1 &amp;lt;&amp;lt; req_skills.length).fill(null);
dp[0] = [];&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무 스킬도 필요하지 않은 상태 &lt;code&gt;0&lt;/code&gt;은 빈 팀으로 만들 수 있으므로 &lt;code&gt;dp[0] = []&lt;/code&gt;가 된다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-3. 사람을 하나씩 추가해보기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 사람에 대해 기존의 모든 스킬 조합을 확인한다. 새 조합이 더 작은 팀으로 만들어진다면 갱신한다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const before = dp.slice();
for (let mask = 0; mask &amp;lt;= fullMask; mask++) {
  if (before[mask] === null) continue;

  const nextMask = mask | personMask;
  if (dp[nextMask] === null || dp[nextMask].length &amp;gt; before[mask].length + 1) {
    dp[nextMask] = [...before[mask], i];
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 스킬을 하나도 새로 추가하지 못하는 사람이어도 로직은 안전하다. &lt;code&gt;nextMask&lt;/code&gt;가 기존 &lt;code&gt;mask&lt;/code&gt;와 같아지고, 팀 크기는 오히려 늘어나므로 갱신되지 않는다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 최종 구현&lt;/h2&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/**
 * @param {string[]} req_skills
 * @param {string[][]} people
 * @return {number[]}
 */
var smallestSufficientTeam = function(req_skills, people) {
  const skillToBit = new Map();
  for (let i = 0; i &amp;lt; req_skills.length; i++) {
    skillToBit.set(req_skills[i], i);
  }

  const fullMask = (1 &amp;lt;&amp;lt; req_skills.length) - 1;
  const dp = Array(1 &amp;lt;&amp;lt; req_skills.length).fill(null);
  dp[0] = [];

  for (let i = 0; i &amp;lt; people.length; i++) {
    let personMask = 0;
    for (const skill of people[i]) {
      personMask |= 1 &amp;lt;&amp;lt; skillToBit.get(skill);
    }

    const before = dp.slice();
    for (let mask = 0; mask &amp;lt;= fullMask; mask++) {
      if (before[mask] === null) continue;

      const nextMask = mask | personMask;
      if (dp[nextMask] === null || dp[nextMask].length &amp;gt; before[mask].length + 1) {
        dp[nextMask] = [...before[mask], i];
      }
    }
  }

  return dp[fullMask];
};&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 시간복잡도&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;m&lt;/code&gt;을 필요한 스킬 개수, &lt;code&gt;n&lt;/code&gt;을 사람 수라고 하자.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시간복잡도: &lt;code&gt;O(n * 2^m * m)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;공간복잡도: &lt;code&gt;O(2^m * m)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 사람마다 가능한 모든 스킬 조합을 순회한다. 또한 팀 배열을 복사할 때 최대 &lt;code&gt;m&lt;/code&gt;명 정도의 인덱스를 담을 수 있으므로 위와 같이 볼 수 있다. &lt;code&gt;m &amp;lt;= 16&lt;/code&gt;이기 때문에 이 방식은 충분히 통과 가능하다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고자료&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;LeetCode: &lt;a href=&quot;https://leetcode.com/problems/smallest-sufficient-team/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://leetcode.com/problems/smallest-sufficient-team/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Computer Sci./Algorithms</category>
      <category>Algorithms</category>
      <category>bitmask</category>
      <category>DP</category>
      <category>dynamic programming</category>
      <category>javascript</category>
      <category>LeetCode</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/539</guid>
      <comments>https://yolo2429.tistory.com/539#entry539comment</comments>
      <pubDate>Wed, 8 Jul 2026 02:29:03 +0900</pubDate>
    </item>
    <item>
      <title>[LeetCode] 1820. Maximum Number of Accepted Invitations (Medium)</title>
      <link>https://yolo2429.tistory.com/538</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제를 풀기 위해서는 &lt;b&gt;이분 그래프 최대 매칭(Bipartite Matching)&lt;/b&gt;, 그중에서도 &lt;b&gt;Kuhn Algorithm&lt;/b&gt;에 대해서 알아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kuhn Algorithm은 이분 그래프에서 매칭의 수를 하나씩 늘려 가는 알고리즘이다. 핵심은 단순히 &quot;빈 자리를 찾는다&quot;가 아니라, 이미 누군가 차지한 자리라도 기존 매칭을 다른 곳으로 옮길 수 있다면 전체 매칭 수를 늘릴 수 있다는 점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제에서 남학생과 여학생은 자연스럽게 두 그룹으로 나뉜다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;왼쪽 그룹: 남학생&lt;/li&gt;
&lt;li&gt;오른쪽 그룹: 여학생&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grid[i][j] === 1&lt;/code&gt;: &lt;code&gt;i&lt;/code&gt;번 남학생이 &lt;code&gt;j&lt;/code&gt;번 여학생을 초대할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 문제는 &quot;가능한 초대 관계들 중 서로 겹치지 않게 최대 몇 쌍을 만들 수 있는가?&quot;로 바뀐다.&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width: 100%; height: auto;&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAK8CAIAAABwUdHZAACHIklEQVR4nO3dB3RTVQPA8Zeme9EBhbKhTNkyZMoQEUUEQaYiMvQDBUVRUURkK8hWhqAiS/YGUWQqU5bsPUsplEIX0J18JzyMsSNNs/Pu/3c8npKmSfoymn/ue/eqtJnJEgAAAABAPG6OvgEAAAAAAMcgCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEG5O/oGuJL4hMQ/d/8lSVLtJ6sVDS9s0+u6EXXr6N8nJUlq1LBuSHAB1/1FbGrbjj0PHyYXLBjS4KknHX1bnJFi7mgXotFoNm3eLklSmTIlqz5RwdE3BwAAIA8qbWay5CJSUlLPnr+U23fDCoVa9y3vnB+XnDpzoVjRwh+//z/5lL+Pn27xfHdJkn6YNf7ll56TbGnF6l/+N3CoJEmb1/70VN2aFl7ahCnfRd28XaVy+bd6d8vzF7kRdevg4WPmXVFIcFDTJk9J9lKnUdvLVyObNnlqzdLvsn/3euTNPfsPS5LUsnmjQgVDTLzMtRu2JKekFg0Pa9rYfr+IVSxasubgkRP+fj5jR3xk/0csZKlpaeFl6kmS1P/NV/V3BAAAgNNypRHCi5evye9uczSgX89Rn79vxavbsWvfb1v/qFaloj4IzXD3Xnz0rRgTz1wwNLhI4UKSDWzavP3EqXPPtXxaDkLjDh4+1qf/EPOuqM6T1S0PwtTUVDe12sPd0gfn4aMn3hn0uRzVpgfhJ8MnxMTEPtfyaZcLwt37Di1ftSk0JEi0Drl67cblK9d1w+kNant5eZn4U0ePnY6Li/f19alfr5aNbyAAAIDzcqUgdEVr1v/28Wdfmnjmd99+Y8RngyRHK1K40HMtn87vT+09cDgp6YEl1/v38dPfz1v6+/bdd2Lvubm5hRcJa9O6+Zu9u0WUKSmJ6vLVSE1mppEzBAb4h4UVNOOS78UlXI+MsuCmSQVDQ4oXK5L99MXL1k2f+ZN5l1n1iQo/zBqf359ate7XseO/lSTp2IHNJYqHm/hTo76ctuvPA+XLlTmwa02Wb92//+DW7TumXIinp2fJEkXze4MBAACchysFYYXyZQ7v3ZDbdwsEBuZ5CZ+Pmnz1WqSRM1SpXOGTD/tL1qNSqdzd1cbPo9VqMzM1kiR5mzy4MX7y7MjIm0bO0KlDG7NH6ho89aQZh+Q1bdXlxKlz5l2jJEmTp3//5cSZ8naQD8SKunlrzo9LFi5Z8/W4od07vyS5gvLVmt29F2/ez65f+X3jBnWynPjCy71iYmKN/FT3zi99O2WUGVf329Y/5OFTs/Xq0WnSV59lPz0+PuHCxSvmXWaBwADJCezYta/nWx+acs769Wr9smae7W8RAACArbhSEHp6eJQpVcKSS9i7/9DRY6eNnOH+g4eSVfXp2blPz87Gz3Mn9l7FGi0kSfLy8jTxYrds/cP4L9K4UV3Jdcycs3DMoxGesLCCA/u9Xr9erfT0jO07987+4ef79x+8O3iEv5/PS22eNfvyvxgzJTjI1Il5EuITJUdwV+fwwYHazS23DxQyMoyNHOZJpZLy/KjCODc3VY6nt362acni+R40+3z05OtGP+NwToUKhTr6JgAAAAgThNZSNLxwr9c75fgtM97IWk6jeTws5u3tbeKPdGz/fI4HPsXFJS5dqRtEDQkOMvv2bN6ys+ebg/P7U2b3yaUr10eOnaYbXitXZv2KuYX/2QGyfr1aHds/3/aVPrF3497/eMzTjZ8KKpD3IHCO/jpk5hw5+bV102KN9vG9aaJVa38dN2GG7qmYU56dOrwltx8sUaHhAws+v+j6Stuur7SVbCCibKmIsqXy+1MTp82VnMaLLzxz5/oRI2dIS0srWbFhZqYmzORjUwEAAJyT8wbh5auRi5ZkPbYnX2pWr5zjsFLR8MKD3+0rOY0HDx9P9OrtbeoI4dtv9cjx9H0HjshBGBpifhBqtY/rrlChUB9vU/dilRUpnO/j2cZPmpWekaFSqX767mt9DcoqVij7zeSR3Xq+GxefMGvOok8/elsyy//6dC9VspiJZx739cz79808GNL0a9HTV65a7bAnY3pGxrVrNy5duV4uonRuR2weOPi3p6dnhXKl/fx8JaVTqVRqdc7jn7Jr16Pk3ZtLOOIjJAAAACGCMPLGzanf/mjJJXTv/JIl+xnaTXx8gvyFj4+pI4S50e90V6JY+Nlz/y7RkZySasalzfl2nK1n2nzw4OGmX3dIktS8aYPKlcplP0OrZ5pElC116fK1Zas2mh2E7du2Mn3pjqkz5pkdhGZIT0+Xv1Cr3SQHOXjo2Isd++iWJxn7aW5BOGLs1AMH/65SucKfW5dLzqpzj3c8PTxMPPPlq8YOJzbuzLmL8hcN67MAJgAAcG3OG4RhBUM7tGud23f3HTgiL+fwXMuncxuyqP1kNcnJLF25Yfeeg56enpPHD9OfGHPnrvyF5esoHjtxRrfja4miN2/FGFmiw3ns2X84OTlFkqQ3XnslxzOoVKo3Xuv4+SjdAWbnL1ypUL6MpCzp6RnyF/kdjLWiIkXC5C/i/vlsIrvIG9GSJJUt69Qzvp47f9k+V7Rtxx5Jknx9fWpUf8I+1wgAACBcEFauVO77mV/l9t2qdR6vst3llRfbt20luYiDh47/vHy9n5+vYRBeu/549v/ixXKYMX/wJ2MDA/3lrxs89eTnnww0cvl7H63DXq1KRavc2qFffG3GrI8fDXqredMGJp75+Mmz8hctcv+RFk0bfi5NliTpxKmz5gXhpSvXTd/RMeOfITv7kHtYkiR/fz/JQYr8s6eufrA6i/SMDHkZBlOWAFm8bN3or77J7224dy9OstjEL4cWCjX1oL7xk787ffaCGdei0Wi2bPtTfj5avlomAACAY7nku5n1m36/GX1b/vrb2QvavtDSgbvbWe7CxavyHKo5LqFm+J7V+JGB0bdiTp4+L0nSsy2a1Kz+hOGsGM1bd5W/lS9nzj7eLy5fYu/m45395cu69cSDgwr4+vrkdp5i/yx2d+nR4uNmGPD+cMlZJSYlyV/4+zksCH19fQIC/JKSHsTF5TzDalTULXnqI1OCMDk5xfhSGbbzbIsmpq9D+OPCFdLjjyPy55ffdsoP8te6tjfn5wEAAJyJ6wXhzejbQ4bplq4uXqzIjahbR/4++eXEmcOGDLDR1d2IuqXPCbOXmDPu0uVr8ohojqMNA/r1LFumhCmToC5buVGj0bi5uT3fqmmWY9JUKmMzZGTxdKO6e7evksxVtGg+dnxNun8/z31lAwP8/f397t9/kJioO7N1F4HMjZubnT5ikH8plUrl55dDEjdv3e1sLrtBpqbmfFzow+SUGd8tkL+Ouvn4c5M8FQ4rpAvCXEYIr994fGxqWROCUG/WtDGlSxU3/fyPhkldYMaa6TN/erTFCr7QurmjbwsAAIBgQRh9K+blrv1ux8S6u6uXLfh26Iivd/15YPL079Vubp982D9f2WOiuPiEn5evl2xpzbLvYmJiExIfjxRl0aZ1c1MmRMnIyFz4s25S1kb1a1u4Npq/v1+lihGSXciz3YQE57FIYEhwgfv3H+j3rjRR+7atnH934sQkXRD6+vrkmKBp6em5hV9ukpNTPh+l28M2X8ILF7p46WpuQSgfQGjiCKFejWqV7fZAsput23cfOnJckqRer3dif1EAAKAArhSE23bs6f/eMHlnrfFjPqlcqdwPsyY83/6NCxevfD11zpFjp6Z9PdzyeVmyKBga3LXTS/LXMXdil6/aJNlAWFjBsP+uuJBfS5avu3JNN2vigP49zbuEVWs3X/3naEar+F/vbnkeFycf2hcT+3handzI8+4ocsGDe3G6YeewgsYavlbNKjMmj8rxWwUKZD3I08Pd/ekmj+eGTUxMOnhYVy95KlKk0KOPP3LeZTTy0ey1fn6+Fj5KXV1ycsqHQ8fp+rlI2ID/ve7omwMAACBMEO7/6+hXE2f9secveW2GaV9/8crLz8sDR7+tn9//3WG/bf1j2449TzZ48bVuLw8a0Lv4P0edWS68SNioz9+Xv/77+GkbBaE8UnT79p1r16P8/HwbPJW/ueyTkh6Mn/ydvN/psy0am3cDlq7cKM+daC3dO7+UZxDKk9YY37Px7r34lEcDiUHZ4kcBbt3STdZS2Oj6jX4+PqYPtQUG+q9YNEP/iDVxstnCYYWMTCoT+WiX0bKlH++6LKwRY6fKK7uMG/mRkaNeAQAAXIhTB2HUzVt79h1etmrjjl375FPKlCqx4IdJVSpX0J8nqEDgzz9Nm/rtj19OnJmWnv7jguULf179ysvPt2vbqknDupav7Ge2mJjY739appuTUKvVaDQZGZmZmRn7Dx6Vj/56ve8HSUkPEu/fT0p6kJR0Pz4+MTUtTf7B1s82zW8QDhn2lTzLzrgRH8mnTJw21/CIO3mJDuM6tm9dy6pz6JsyS0rFR7OG3r//ID4hUb9EexY3oh7vr1i+nElTjE6Y8t2JfyYvtYppE0fkuVOr2aIfzd5Z2O4jb3/uPfj1ow8RZJGPNvLde/EvvdI3+5lPndHNbBR5I9rwuy+9+GzfN7pIzmTQx6N8TX7Kn8rnNEsLf149d95Seambdi+6wAKnAAAALhyE6zf9/sWYqfr1GOQpZN57p/dr3dp7eXpKknT071M3oqLdPdyfb9VMpVK9P7BPh3atp874ccmy9Wnp6UtWbFiyYoObm1uThnXXLPv3Xa89uXt4TJw2N8dvZWRkbty8PfvpAQF+JYsXK1M6f/NwLFmxYenKDZIkvdq1fdN/9hX8aeFK/USsJur6SlvJ7qpXqyx/sWnz9ldzmbNx4y/bHp+5aiVTLvPg4ePWHeqcMPZTyTaSkh48fJis22OzsG6Azp5iY+/t3ncoy4kajSb7iXrxCYmG361WNY/VTXr3/9iMxRVbtXx6yAf9JLPoPzmyuu079374qW5n0Yiypb77VvcFAACAMjhpENZ5snp0tG5Qy8vTs0H9Jzu2f75zxzaGUzh89+PPy1dtKhAYcOWMbkEwSZJKlSw2ZfznHw1668cFK7Zu333i1DmNRtOxfa5L29taSHCBxg3qpKSmeXi4e3l5ent5+fh4+/p4+zz6z9fXJzDAPzDAPyQkKDQkuGDBkCJhBc3YCe337bvf+3CEPNvHmC8G60/v3LFNQsK/s9Ss27jlXlyua45nEXs3Tp780wwqSZWviSXr16sVHFQgLj7hx4UrcgxC3WQ5S9fKe8OWKlnMlMt8vdvLzf4J49ysXLP52IkzXl5ew4a8k+cFBgY8XgfS6q5evyF/Ucbue2NWr1bZwtCt+sS/A/U5OnvukhkXW7liufz+SNPG9by9PjDvjg4Kynvsd8363/q/Oyw9IyMgwO/neVNt93gAAACwPycNwqLhhb+ZPDI4KLBxw7re+RlkKBpeeNiQAcOGDLgTe+/PPX+91Cbfe3bFJyQmJt4vWcLYAg8mWr/ye8svxNjlb/q937vDMjIyQ4ILLF34reEi8sM/fdfwnIeOHDc9CL/8eua8hSvMu0l+fr6R5/eafn4Pd/dXXn5+7rylR/8+tevPA/oRTr3FS9fKi9q92qWdiZfZtk3LPM9z4tS5YyfOeHt5vuPQqUHO/bOkRMXyZe181RFlSuZrylDTNW1cb8bU0Tl+66eFKw4ePu7j4z3xy89y+3EzjlSs82T1Ok9Wt8UdrdFops/8afRX32i12qACgSsWzzBxv2UAAABX4aRBKElSpw4vWPLjhQqGdGiX8/Dgzejb4yfN1h3Xl5mZkpL6MDn5/v2H9+Li79y5e+v2ndi7cc+2aLxs4beSE9NoNJOmf//VxFlarTYwwP/nn6Zb8c19mdLF69erld+funjpar6WpNf7cNBbS1duSEp68NbAoSsXz6xW5d8dEbfv3PvpFxPkHYb79OwsKc6584/H0Co8OpbSOK1Wm5KSmph0PzEx6e69+NsxsdG3Yq5djzp34XLlihFj/zl81OHKlyuTWzXt+nP/wcPHPT08unVywP7J+XU98ubbgz7fu/+w7vWkUOjqJbMMj14GAABQBucNQtvRBeHk2UbOkHT/gdWv9IWXe+3/62i1KhV3bdHNNGOJk6fPv/fRyKN/n5InI1n580zrvk8d0K/ngH75Xrui37ufmTcFa6GCId9OGtmr38d37txt1fb1Lq+0qV+vVkZ6xvZd+9Zv2qrRaLy9vb6fOd7LK99Hox0/eXbODz9LkjSw/xsVK9h7CM4U7V9qVaJ40aibt8KLhBk52579h8NK1c7IyMztDA8ePLTNDRRUQmLSzO8Wzpy7SN6w9erUmDvjqxLFwx19uwAAAKxPrCB8smbVwMAAtVrt4607os/Hx8fXx9vb20u3wFrB0EKFQooUDosoW9IZjhFyc1PJCaRSqbJ8a8ny9XIN1q5V7cfZExTwPrVtm5ZzZ3z5/sejE5PuL1i8esHi1fpvhRcJm/3N2Hp1aphxsTeibv28fL1utLljG+cMwiqVK5gS81qt1rAG1Wq3kOCgIoULFSlcqHix8HIRparkdTgfTHfx0tVnX+yRkKg7BNfNze2DgX2GDO6vVruxDQEAgCKJFYRfjxsquYiO7Z/v2F631mJ2o4d/EHXzdvmIUkMG93d3V1v9qqfNmGfGLJ3nLl6x5Epffum5RvVrL162buuOPVE3b7mr1SWKF32hdfMur7zoDH1uXOSNaOuO0ZWLKC3fs3O+HZeSkuqmcvPw9PD08PD19SkQGODv75v9YwJYceM/07zR6nW/tmjWcOSwQewmCgAAlM0Zg/CnRSsv5FUXR4+dliQpJSX1sxFf53mBQwb3d/6oMJ2bm9tPc/L+rc124eIVI2sP2E5YWMH3B/Z5f2AfO1zX8E/fHfRObzc36wz7fPDJGOsudHHq8BZ5J1Jb1MjnoyYfPnrCihe44PvJBUOD7f+0XbH6l8tXrxu/kFOndSsopqSmGd9LXPbOWz38/XWLZ04Z/3mP7i83bZzHXLUAAAAK4IxBuOnXHSa+vU5NS5s1d3GeZxvQr6eSgtA+vDw9Tx35XVKoouGFi4YXloR09vyl/X8dteIFpqenO+Rpu3z1JlOvMTV1/KS8g/D17h3kIAwI8KMGAQCAIJwxCFs0bWjdN+s+Pt5WvDRRqFQhwXkv0QbdUNWiGS60Hd547ZVnmjW04gXK2Wb/p23d2tW9vTyteI1mTFwEAADg6pwxCPu/+aqkULfv3DVl17UsWrVoUqtmFcm+tBrN38d1O/jll5enZ+VK+V5b3KbGfPXt7NC8h6SymDF1tCKTuE3r5sp42n78/v/sfI0AAADK44xB6CQKFy5YtnSJYkWLWPEyY2JiTdl1LYvQkGALg7BgwZCi4YXzlTdp6ektnu9uxnWVLV3i0J4NkjMx75C51NRUyaUUKhhatnSJAkGBjr4hAAAAcBkEYa6mThhuxQ3duEGdsEIFzfvZMqWKW3jtq36eZfqZCxculNvC4qYoXsyaCW2JJyqVGzfS/OXaXe6409HDPxg9/ANH3woAAAC4EpU2M9nRt8Fl3L0Xv/m3Hbq6a1i3tMWR5kCK+UXWbfw9Kel+kcKFWrZo7Ojb4owUc0e7kMxMzZLl6yRJqlQxos6T1R19cwAAAPJAEAIAAACAoKyzDhsAAAAAwOUQhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBuTv6BgA2kZCY9PBhspeXV0hwAcsv7e69+LS0ND8/38AAf2vcOlHcun1Hq9UGBxXw9vZy9G1xdtG3YiRJCgku4OXl5YRPAf0tDA0N9vTwsMoF2noLWPdpa/XtaevbfDsmVqPR8OwDAOSJEUI7SUy6f/HSVcP/Ll2+ZuT8UTdvZTn/nTt3bXqBCjNuwowqtVu9M+hzq1xa37eHVKndauLUuVa5NHHUbdKuSu1Wm7fsdPQNcQE1nnq+Su1Wu3b/5SRPgYTEpMGfjB38ydiExCRJkjIzNVVqt6pSu9XRv09JLrIFrPu0te5Lih1uc+NnXuHZBwAwBSOE1hd189aAD76QJOnbySOLFS0in7h+4+/vfjjS8GxeXl7Rlw/kdiH93x22e98hw1Pe7NV1/JhP9P+0+gW6Cq1WG3s3zt/P18fH29G3RVxp6elXrkSeu3DJzU1dsXyZMqVLururJVfz2YivT5+92P7FVj1f6yi5Dvs8BR4+TJ63cIUkSR8OerNAYIDkTHbs2rd24+8FQ4M//2Sg82/P5OSUfQeOnDl38dLl68WLFalcqVz9erWCg2w4zAgAQL4QhHlbvGzdjajo2jWrtmzR2JRtmpycsutPXZglJ6dk+ZaXp+dzzzaVv/bwcDdyFY0a1AkJCZa/3n/waExMbI7XldsFzlu4IvJGdN3a1Z9v1SxfF2hrWq32t61/LF66tl6dmgP798zXzx49dnrKN9//vm13alqaJEmlSxXv1vmld/v3zNcOZiPGTv3r0DHj5xk74qNaNZ6QLHDh4pVDR09mOdHf1yc0NPiJyuWDCgRKrvnYliTpXlzCVxNnzl+0Kj0jQ3+il6dn315dbVEOR4+d3nfg8Jlzl+LjE1QqVYECgRXLl2netEGVyhUs/12OHju9/6+j1apUMuXM2Z9TpvtgyJhjJ06/+Pwz7w/sI1nAKk8BWVLSg58Wrdy1+0BcfELpksU7d2zzXMunJetp3a5nenq6kTMEBgasWfqdeRd++uyFhT+vLlu6hIVBaMXtmZv1m37/bMSkqJu3DE8MKhD42ZABb7z2ilpt6k46m37dkZh03/h5IsqUrFenhgU3FgAgKIIwb4uXrt3/19E3e3U1/Y1mbgoEBf4052tTrmLI4H7673br+e5vW//I1wWuWP2LfIH6N68mXqDtZGRkrl7369QZP549d0mSJD8/33z9+MKfVw/+dGxGRqabm1vR8MIJiUlXr9348uuZazdsWbd8bsHQx62bp3PnL+//66jx8yQm6faRs8Su3X99/NmXOX5LrXbr2P75we/2LV+ujORqj+19B450f+O9hMQkd3d1nSerVyhXWqPRXrh09e/jp2Z8t2DJ8nUrFs+ysKX1fv1915dfzzxx6lwO3xs9pUa1yj//NC28SJjZv0t+ZX9Ome7ipatHj52uWb2KJTfAWk8BSZKuXIvs1P3ty1cj5X8e/fvUmvW/devU9tspo1QqlWQNx06cTU1NNXKGGtUqSw5lxe2Zm7Hjv500/XtJklo0a/h8q2blypa6ERW9Z9/hZas2fjR03N79h3+YNd7Eixr15fQLF68YP0+P7h0IQgCAGQjCvAUHFQgLK+jv7ye5zlWEFSpYskRR59kr6eix073+9+H1yJvm/fj+v45+8MmYzExN86YNpk/8oljRIhqNZs363wZ8MOLM2Yuv9/3glzXz8nWBXV9p++lHb2c5MS0trW6TdvLXa9b/dvTYaf23jB+fmRtPD49XXn5e/jpTo7l7L/7SpWtXrkUuX7Vp4+btO39dUi6itORQ+Xrgxd6N69N/SEJiUpOGdSd+OdQwaM+euzT407H7Dhzp3e+jnb8ttXyc8LMRE2fNXSRJUkCA3/OtmtV5snrhQqEZmZl378WfOnN++869x06cuXsv3jAIbf08dexzyopPgYyMzNf7DL58NbJgaPC7b79R9YmKazZsWfjz6iUrNpSLKG3hGKbewT/XabXaHL81fPTkdRt/L1miqNkXrtHoLjlTozH7Eqz+kpLdrj8PTPn2R0mSZkwd3a1TW/3pr3Zt3/O1jh2791+z/rdmTZ7q0b2D6ZfZqEHturVzHQOsVcOiTxwAAMIiCPO2eN5Ul7uKHIcNHejW7ZiqT1To+0aXBk89OeO7hWs3bMnXj0+a/n1mpqZJw7o/z5sq783l5qYbZwsqENj9jff2/3V0z77DjRrUNv0CAwL8ShQPz3KivNuYbNuOPT8vXy9ZxsfH+9spo7KcuHX77tffHPzwYfLbg4Zv2bBAcqh8PfA+HzXp1u075SJKL5k/3dfXx/BblSpGLJk/vUnLTteuR43+8puJXw615FZ9PXWOXIMvv/Tc1+OGZp/UUavV/rH7r8KFQs3+XVzuOWXFp8CWbX+eOnNerXb7YfaEJg3rSpLU7On6nh7uP8xfPmvuorffes0qO0wWL/b48Onszpy7KO/EbvaF34uLlz+hMPsSrP6Skt3QEV9rNJrer3c2rEHZU3VrDhsyYOgXXw8fPaVr55c83E39Q9yyeeP33ullya0CACA7ZhmFPTzfqtmiH6cO6Nezdq1qnp75m7P+zNmL23bs0XXCuKFZ3qo+07xRh/atdZ/Bf2flsurds/MPs8br/6tcqZy1Lrlli8aDBvSWJOnI3yezH2XqtDIzNRs3b5ckafC7fbPUoCwwwH9AP91BoRt+2WrJFZ07f3n8pNmSJLV78dnvZ36V4xT/KpWqaZOnCv03CJ2ZVtKNaOU2Ymbnp8CiJWskSXrx+WfkGpSNHj7Yx8c79m7citW/SLZ08vT58xd0uz62/ufgZzPII/YPHjyMvBFteOKk6d8b/nf9+k1HvaTcun3nzFld977atX2OZ+jW+SV5KlfbzdoKAICJlD9CeCPq1qXL127eiilcKDS8SJjhzCuBAf5hYQXl9ZrS0tJDQ4Lkd7o3om5dux5VrGjh0qWKS5IUn5CYnpbu4+Od495oGRmZV65eP3PuokpSlS5dorxZOwEavwoz3LlzNyU1LSDAz3nmLzHb4mXrJElqWL92hfI5HHT3xmuvLFu58betf8TejbPKYT+yJ2tWfbJmVf0/F/y8Wn57ZxW1H12yRqO5dOV61SeyTo4iSVJ6RsbhIycib0RrtdqiRQvXfbJalretDx8m372nGyQpGl44x3kpEpPuJyQkeXi4FylcyCoPvNi79x48eGh8tzT5qLA7sbpz5vcYUb0JU77TaDTu7upRn3+Qr+PZcvxdjD+17facSkp6oPv/fd3/HfsUSEhM2rpjtyRJL7VpaXi6t7dXyxaNN2za+vv23a91e1mymVlzFupWRGhQx+xdRlPT0v74Z2mKDb9sffutHvLX5y5cGTv+Wyd5SYm+dUf+onLFiBzPUCAwoEjhQrdu37l1W7f6IgAADqTkIDx5+vyoL6dv3a5795OjHt07TPt6uCRJnV9758SpczOmjq76RIX3Px595G/d/JD933x17IiPJEnq9b+Pdv15YEC/nqM+f9/wx7Va7dx5S0d/9Y38RlkWGOD/7DNN8ntTc7sKs701cKi1LlBeLdoINze3wo+62kauXtNNffF8q5zHE56qWzMkuMC9uITrkVFWDEKbSkl9vG9qjsfaLVu58dPhE+ITEvWn+Pr6fPbxgH59u+sDKebO3dqN2mq12gXfT37x+RbZL2TgB19s+GVbt05tZ0wdbZUHXoC/n5ubm0ajScl9ppC0R7NKenl5eXubOX1/alqavGhh+7atsu/Ta1yOv4vxp7bdnlO3H03qe/v240hw4FPgeuTNjIxMXZIZDA/Knm5Ub8OmrZcuX5ds5sDBv5eu3Phojqv+uZ3n7feG6R8/s78Z2zjbnqVzf1ySmHS/QGBAQmLS5Onfd3mlbWhIkCRJT1QqN27kf+7WH+Yvz/HoXzu8pAT4P/5A5OatmLKlS2Q/Q3pGxr1Hn+kUCHT5z+wAAK5OsUF45Vrkix16Jybdr1ih7Csvv1CkcKGom7d+XrZOntekc8c2Xl5e9evVMvyRpcvXHzj4d1p6enBQgdKlihUOMza0kpqa2unVd+SV/cqXK1OlcvngoAKRUdEnTp5dtXazpBSpaWlVarcyfp6wsIJnj1q0l6Bx8l5hxYvlmgfFiha5F5cQeSPacEzPmf2xW7cqSZlSJYoVLWx4ukaj6fv2J/IBlnWerF6rxhMqlerk6fN79x/+bMTXm3/bsXzRDG9v3VBh6VLFmzZ5aucf+xctWZM9CBMSk7Zs/VM3d86j3dKswtfXp2yZkhcvXf3r0LHqVXNep+HQ4eOSJFWpXN70yfSzXcKJlBRdcHZop9ttz1ry9dS2uuhbMXIQHjl2Kj0jw/QDxmzxFJCjVK12kyPKkPyxzuWr17VarbXmGjV091782+99rtVqX3iumZHD8+7FJUhSgvx12j8fnRh+d9I03bydX47++Mf5Kw4dOT5izJRvJutWZC1dqni/vq8anvm3rX/kGIR2eEkpVap4UIHA+ITEHbv25RiE+w4cSUtPV6vdqlapaN5VAABgLYoNwg8/HZeYdL9pk6dWLp6lf3v6bv83mrXuev7ClaLhhYd/+m6WHzn898l+b776Zq+u+tXkjRj15Te79x3y8vL6atTHhqtaZ2Rk/rhg+SefmzqZuJNTqVTV8nq/EhKc9Z2ldd2I0i3hVTT8P+1kqFjRIidOnbsR9e/RRJabPP37rY+OMpKdPnPBKhebkZG5aOma739a5u6uHjNisJvbf8Jp/uJVazds8ff3+3byiJfaPKs/fcu2P/83YOjufYe+mT3/o0FvySe+8VrHnX/s37ZzT/StGMPJNnVLn238PTUtrXixItlHVyzR+tmm3166On7SrDatm2e5RvlN9rQZuokZswdq7N04/bFexne5PH/xsvxFfocHjcvXU9vq9DspPHyYvGPXvlZG9yBYtnKj3NXytCtNmzxl3afArUdBGBIclOWx92gaVd0xmSkpqe06val2V6dmizFLxCckduv57pVrkeFFwqZP0vVbbhZ8P/nZZx4vHJIlnjUazceffZmQmFQ0vHCHdq0jypR64eU3fl6+/onKFfq/+Z8UdPhLioe7+1u9u02Y8t2oL6c906xhll2U799/MPiTsZIkden4YvYyt65pM+YtX7VJ/rp50wZv9e5m06sDALgiZQahRqORFx8f9E5vw8EKb2+vnq++8tmIr9dt+D17EA4a0PvD99405fLj4hPmLVyh24usd1fDGtRtUHd1i6YNJKXw9PDYtWWZY2+DPPmnkaloPD09JUlKfjSyZC2Xr1zPc7nCPCUnp8hv++Q9xO7cufv38dO3Y2Jr16o2bMgA+b2+XnxConwE1CeD+xnWoCRJrZ5p8vEH/T4b8fW0GfN6dHtZPizw+eeaFyoYcif23s/L1w9+t6/h+eV5Qbq+0ta64zyffth/0+btV65FPt/+jRGfDXqpTUs5KjQazdoNW0aMnZqQmFSjWmV5ahlDQ4Z9NWTYV/LXxne5fDQ6JBkfvTGD6U9tq9NqtbO+XyxJUsHQ4Ni7cZOmzTUehGvW/2b4T/lBYsWnQGqabrdeD48cLkp/orzjgxUdOnK8T/8hkTeiAwP8F/0wJceJgvQ8PT28Hv06WWg0mncHj1i97le12u27b8Z5enjUrV193MiPhwz76rMRX0ffihk5bJCJD3j7vKR89P7/9uw/tGff4abPdRnyQb/nWj5dqmTx6Fsx+w4cGf3VN1E3b5WLKD1+zCeSjR0/efb4ybPy1/Ix8wAACBGEd+/Gycf1ZR/HKBquOyU6p+P4TX/3vPOP/SkpqSqV6r13dNNFwqaKFyty/sKVm9G3c1vJ+mb0bd2YUn4S4uy5S/Jci4bSMzL0X48aPtjwMKe3Bnx64ODf+b3laenp8gcHhjw9PHIcdN2+c++9uISgAoG9X++c/bt9e3UZP2lWYtL9HX/sl2ex93B3796l3bQZ8xYtWfPBwD76R+/N6Nt7DxzRDT5km+zeQj4+3ksXTH9rwNBjJ8707vexl5dXRJmSWkl7+fJ1+R12k4Z1Z04b7e6uzvKDZUuXCAkJznM1At1HLY+CUK12s3wlQ0O22AHSRFt37Dl77pKvr8/CH6a88HKvg4eP79p9oGnj/3wWYOit3t308wzpdya04lNA3i/0bk4LNsTevScfEvzH78s8PTxux9xt+4qlaxJqtdqZcxaOGjc9PSOjQGDA6iWza9U0Z628+ITEj4Z+Ke+N/8XQ9/R7nL7Zq2ts7L2vp875dvb8vfsPf/7JwCyfs9jtJSU7tdrtpzmTho2cuHzVpmEjJw0bOUmlUulnmm3ZovGEMZ+YPfeS6YZ+/E7zp+vLX4f+8zQEAED5QVioUGihQqF37tw9cepslnnkzp67JElSnrtBGnfk0UThYYVCjX/UDasoUbzoo3dvuc5tE3XzVn7HlP7ce/DPvQeNnCEkuIDhnSsfuZdfvr4+P86eIH+t1WqTkh5E34r5fdufPy1a+dOilV1eefHbyaP0I9gXLl2VJKlC+TI5XpeHu3tE2ZJHj502PCaqR/cO02f+dO161J97Dz7dqJ584so1mzUaTb06NSLKlJSsrXy5Mls2Lvx+3rLNv+3469Cx02d1e9J6eXm1aNaw/YvPvtq1fY7p9dmQAS+/9Jwply/HZGamJjUtLcswUafX3pGXCtArEBhw5YzuUEmnpdFoJk/XHfDWsf3zT9Wt2eqZJr9t/WPUuGm/rP0px0EwSZJaNGuYfQjRik+B8CK64eXUtLT79x9kmVo25s5dSZJKlij6RKXykiRZ2Cr34hKWrdwwf/EqeZGJJ2tW/X7mV2ZM7qrVapes2DBizJTYu3EqlWrMF4P7v/ma4Rk+/ejtiLKl3vto1JG/T3bo1m/rxkV5NqctXlJyFBoSNGvamDd7dV297rdzFy5fvXajWHjhShUjWj3TpEWzhpJdRJQpWbtWNftcFwDARSkzCOXBitXrfh05blqNapXL/bMUxJG/T86cq5v0vFXLpy25cPmj9BLFzZw23YVotdqr128YP4/aTW32DPKmkMeU9v91tE/PHIbOrl2Pkg+LMj70pNetc9sskwllV7a0dVLKw909+5v7gf17bti09Y3/fbRs5cbqVSvp391euKgLwlIli+V2aaVKFs8ShGVLl3i6Ub1duw8s/HmNPgjl/UW7dbLadDJZeLi793/z1f5vvnr+wpX6zXTrE+zetsJa8Rkc9DjCY2LuZjmM0E2l0o89ajRajUYjOb2vp8w5cPBvHx/v9x+tPPnlqI/3Hjh89Njp9z4cOXv6432J7fwU0O808feJM1kOMT12/LSu+c1aOCeLdz8cuWLVJnnc2N/f792333jvnV5mzKYj2/jLtti7cSHBBSaPH5Zlb2pZ545tnqpbc9SX04uGFzZlBNK6Lyn5XcMGAABno9gg/Hrcp6fPXjh77lKD5h1q1agaVijkZnTMsRNntFpt08ZPDbJsV095f9TAQH9J6dLS02s3bOvYWUZfeK75/EWrNmzaenf0kOwTMMxfvEqr1T5RqbyRlDKU4xtKO2vbpuWLLzyzYdPWOT8u0QehvBefj0+uCzYUKKDbizIx6b7hia+/2mHX7gMbf9kWF58QHFTgzNmLp86c9/Lyav9SHnPDWs7D8/Grh2dOB6SZR7/WfMyd2CxBuGzhv0vMLVqy5t0PjU1M4gy2bt/99dQ58rGX8shY6VLFJ3817M13Pl2+alOFcmU++O+Rn/Z5ChQNL1ytSsUTp85t2rzdMAi1Wu3GzduNrzNpujKliqempYUEF+ja6aVBA3pbsh6MSqWa/c3Y8ZNmvz+wj5HLKVWy2A+zxjvkJcW65nwzTl7u0v5XDQAQlpmzwzu/wICAqk9UCCoQWLF8xPETZ375befJ0+cqlC8zZfznyxfPMHtafJm/n+6vdXJyiqR0KpWqzpPVjf9XI5dFCKylZfNGFcqXSUtPnzRtbpZvRd6IXvjzat3aZf97vDi1q6hV/Ql5UTh5lQX9cMStf9azzi4mRrdHX5Yp7Ns83yI0JCg1LU0eGFy+Wjed4AvPNbPuMXh2U+effdv002C4qCN/n/zfwM80Gk3D+rX79f13F8eO7Z8f9Gi0cOyEGV+MmSIvCWjnp8CrXds/GkneJB8pJ1u6cuOt23c83N3f6PGKZLF3+r0+f87EU0d+H/PFYMtXBw0M8B874kMrrjLqkJeUk6fPV6rVslKtlnHxj2dOMvTLbztDitUML/tUoUKhJYqHG5mJN0+paWn6IxUBABB6hHDE2Kkr12z+cfaE9m1bZWZq7sTeLVQw1MIO1CtYMER+Ny8pnaeHx5YNCxx7G1Qq1cB+PQcOHjH7+8VBQYEfv/8/+fSom7fadX7z7r34wmEFX3n5+fxe7I5d+8aM/8bP13f9St1RXnamn8AmQ/eF7qDBso/2urwWGZXbj8j77pYv959jYj09PLp1bvft7PkLf17zZq+u8qwb8qwzjpKekXH7dqyXl2ehR0+TfClfrnThsIK3Y2J/+Gl5rx6dJNekm/d1yJjUtLSKFcou+nFKlll2hn/6bmpq2qy5i76ZNf+vQ8d+nD0h+9xXNn0KdOrwwtgJ396LS3i97+BpE4eXiyj965Zdgz8ZI/eqPIethTw9PNq2afloCfgbYx7NnTt1wudZDlk0z8HDxydM+c7D3f3nn6Y520uKcUlJ92MeLUeZkJCk3zVaLyNDN/trZmaGRqPJviKI3qUr13ftPqDJ1KRnZKSnZyQnpyTdv5+U9OBeXHxMzN3bd2KvXr1xLTLq0O71ZhyuCQAQlmKDcN1G3ere5y9ekWensMq7HL26tavL7x5OnTlfpfLjKQFhO927tNv554FVazd/NXHWmvW/1alVLS4+YdvOfampqV5eXj/NmWjGXovxCYlHj502cSTNz9enQGCAt1fOE4GY4eijeYnKlCquf5dcoXxZ3XIXl69H3byVfbm8y1cjL1zUTc6R/fHW89UO386ef+rM+ZlzFt6IuhUWVrB5UyvPVxF9K2br9t1araTRajIyMtPS0lJT0+TF1uVVJdIzMuLjE+PjE+7FJcQnJGq12qEfv2PGSg8qlerNXl3HjP/29NkLf+z5S39gpAtZunLDgPeHy2O5KxbNzHGoRx7vGjthxtlzlx4+TLbzUyA4qMDMqWN6/++jI3+fbNKys6eHR1q6rkYa1q9t9VUQ4hMSV6/7VZKkCWM/tcoF3om9t23HHi8vLwuftrZ4STHuxKlz8hfnLlzOXmsXLumODc7IyLx0+VqWD30MLVqyJvv0yFkUDisYn5BojZsMABCFYoPwqbq1bkTp/th/PeU7d/d//7QHFQgoWrRwuzbP9urRyezjNJo/XT+oQGB8QuKocdMND22SmbgbGEynUqm++2Zslcrlp82Yd+785XPnHy9fXrd29cnjh9mhyRf9ONWKl7Zx8/Zff98lSdKzBlPOPNfy6fLlyly4eGXM+G9nTdMN1+hptdrRX07PyMhs3KCOfsJ9vYiypRo3qLN736GR43RjJp07tLHWSLheenrGex+Nyu278u8iKxAYUC6idLGihUuVMPP4q769us5fvCryRvT/Bgxdt3xullmCnV+7Ns/Onrs4qEDgvDlfZx8I0nt/YJ+a1Z9wc3OLKFvK/k+BNq2bb1j1w5ivvtl74Ehaerq/v1+Xjm3GfDHYxNCykQ8G9tVoNFl2irbR09b+LymHj56Qv1i7Yctz2WY1O/lPLh47cTbHIGzauF6Fcrr5fjw8PHy8vbx1vHx8dP/39fEODQkOKxQaFhZaqkQxq4zEAgCEotgg/HbKyJvRt/cdOJKZqcnM/Hd94dsxqbdjYo/+fer37X+uWjLbvI+B/f39Phz05rCRk37fvrv7G++N+vz9smVKurm5Rd289ceeg+MmzLDqrwIdNze3QQN693/z1f0H/74ZHePv6/NE5fImvpl2lIzMTMPVCx8+TL4RFf379t2bft0hTwf/+ScD9d91d1ePHv5B19cHLlu5MT09Y9iQAaVKFtNqtRcvXRs+evKWbX+q1W5fjRmS4xX1fK3j7n2H5E8ibLG/aMkSRXu/3jlTk+nh7u7h4e7j4+Pr4+3n5+vv5xsYGBASHKRbpSMkKCgoMLfVFEwXGOA/f+6kdp3fvB0T27RVl949O73U5tlqVSr6+vpotdqExKRTpy9s27lXclY+Pt4rf54VVCAw+3qMWTRv2sCBT4F6dWqsX/l9ekZGUtKD4KBABy7VqPfJh/+u/Kmwl5SLl66uXb/F3V3t6+OzfNWmnq92NJzrOPpWzG9b/5C//u6Hnzu2b5397rDWECsAAKIE4cnT5wd/Mub8hStfjR7SuWMb/SEZGRmZd+7cnTtv6Y8Llu/Zd/ivQ8eyTLxuurff6nE7JnbmnIW//r7r1993eXl5eXt5JiQm6T7KbfLUrdsxmZkuMC2+y/Hy8jKyqLezefDg4fPt38jxW23btBw17H1fXx/DE1s902TqhOGfjZy4et2vq9f9Kn9X3qUwvEjYjCmj5AXisnvxhWdCggvci0uoUa1y5UrlbPG7TPxyqGQvNas/sXXjor5vf3Li1LlZcxfPmrtYvuszMzNcYvjditOf2Pop4OHuLvhiqnZ4SdFqtZ8Mn5CekdGtU9umTer3e/ezLq8PWPjDFP0e0eMmzEhJSW31TJOjx08fPnpi+apNXV550aY3CQAAhQdhcnJKp1ffvh0TK88ok+W7IcEFxo/5ZNGSNWnp6afPXJCDsGaNKgUCA0rksgxx1ScqZmZklimd9aiPkcPe79Cu9eRvfjh9+nzkjeiCBUMaNajdqUObdi8+2/+9YVFRt4wsIWDiVShSaEhQyRJFs8/2riThRcKyf9bg5e1VumSxsmVK1q/3ZK0aullGs3v91Q5Nmzw1c87Ck6fPnzl7MTkltVxE6VbPNPlw0JtGJh708vQsWaLYvbiErvkcHnTaB175cmV2/rZ0y7Y/127Ysu/Akaibt1JTU93c3AoVCg0vXKh8uTItmjV85r8jbDn+Lsaf2tWrVnJXq53w14diaLXaQR+P3r5zb3BQgU8/eqd4sSLbd+1dvmpT+85vvfO/10cP/2DRkjU/L1/v7q7+/NOBBw8f/2DImMGfji1RPLxh/aw7hwMAYCMKDMJTZ87L011UfDRLR3YJiUnyHI/l/tk7aNrXukkgcjN6+Ae5fatGtcrz50zMfnqWY8D0tFqt4cih/liv7Feh0Wj0M4cbWYM7twuMi9PNbO7n55PfC7SDsSM+GjviI8k5PHyY3KPP+6aff8qE4aaM/7Rp3bxN6+bm3aRSJYvld26P02cv/H38tKeHR8f2+Zsa0chj2+FUKtVzLZ+Wj7bSarX37z/08fE2sh9mjr+L8af2V6Nz3gU3R9mfUzDdvIUr/P47Hm5Ez1c7Gv80LSMjffAnY02/9mGfDDByPKft3ItL+PizL1ev+9XdXT3n23Hy0jKzpo2pXLHcwp9Xv9W72+Jl6wZ9PFqr1Y74bFCVyhWqVK5w8NCxJSs2dO4x4JtJI15+6Tn732YAgIAUGITlIkqr1W6ZmZqJ0+ZOn/iFn5+v4Xcjb0QP+niUVqstXqxIvTo17Hzb7ty5W6jkk/LXXl5e0ZcP5HbO9p3f2r3vkHkXeOTvk6fPXjAsXtMvUDTpGRnyEX0mGjfyY8nJPHjw8MNPx+mOHuzykk13VnQglUrl2KW6c3xOKZu7Wi3PbuKuzuNgSFOMfbT4hIk6tmttPAgzMzXzFq4w/QIHDeht/yA8fPRElx4D7sUleHl5zftuwjPNG8mnq1Sq997p1bH980O/mLBx83ZJkv7Xp/vbbz1e9nDqxC+0Wt1ctX36D/l5+frlC791hsM7AQDKpsAgDCoQOGzIwJHjpq1Z/9umzdtrVK9cqGCIl5dXfELirdt3zpy9KO84umzBt/acjS0oqEC1KhUNT/EwOp9NmTIl5SMS9bIsVpb9AmPu3H3h5V4ajebI3yczMjKLhhdu07qF6RcomqcbP7V57U/5/amwsFDJOXwza/6vv+968ODhufOXU9PSCoYGD34338s8wLgvxkw5ePh4bs8pZStUKPTArjxWOMhTsfDCZoxCG3llrvtktaULvsnvBZqxJKblqlerXKVyhbj4hOmTRtSsnnUX8fv3H+zdf9jTw2Pox++8+/a/Rxp7uLvPnDa6WtVK4yfN6t/3VWoQAGAHKm2mSatguZzd+w4tW7nx9+2779y5q/1nX0kPd/fKlcq91u3l7p1fyjKfhwKM+nL61G9/lD+BrvNktekTR1SskPNOsyJISEx6+DDZy8tLqXNmTPnmh9FfPX5nXOfJ6pO++izLBwTO4NbtO1qtNjiogLe3I9czcInnVPStGPmzKmut/WD1p4B8C0NDg62+Rp9LMGN7Pnjw0MvLK7f9nI+fPOvt5ZXbwirJySmmH4Weo9sxsRqNxnWffQAAu1FsEOplZmruxcUn3X/g5+sTEhLk4a7AQVG9uPiE2Nh7xYuFW/hOAi4h+lbM3XvxhcMKOmQARBA8pwAAgLIpPwgBAAAAADl6PCklAAAAAEA0BCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKDcHX0DAAAAILToJG9bXGx4QIotLhZQGIIQAAAADku+Bg3q2+hK9+3bb+S75CIgU2kzkx9/CQAAAFi1/WzXe7bIRSoRAiIIAQAAYIUCdNr2M7sS6UOIgCAEAACAIwvQ+L6dZrDRDaMPoUgEIQAAAEyKQLNDy+rJZyHzfhHD34I4hGIQhAAAALBaBDpb+5kuX78pcQjFIAgBAADwr+gkb7PTSElM3wj6LcCwIVwRQQgAAIB8dKBSC9A4UzYOZQhXRBA6TOmqzRx35bCtqyd3sokBAErqQDEjMDd5bjHKEC6EIHQAUlAQZCEAwKXfkBCBlsehvA3ZlRTOjCC0N2pQKDQhAMDZ0IE2QhnCRRGEdkUNKtvVgzN093Ldd/5zIruPAgBc4X0I44F2KEMGDOGECEL7oQaFzUKaEADgtG9C6EBHlSH7kcJJEIR2Qg0KhSYEADj5OxA60G7IQjg5gtCRL8dyNkAZsu4p+t9xQgYJAQB2Rgq6ShkyWgjHIggd84pMCirVf/YUPTiDHUcBAA74Y8SooBMjC+FsCEIHvC5Tg2I2IYOEAACb/w0iBV05C5lyBg7h7pirFRg1qHhZBgYBALADUtC1yO2XJQvlf7IHKeyMIARsiDIEADiqBpk2xvmRhXAG7DJq15dphgdFTkF2GQUAWP/PDSmo3J1IGSqEfbjZ6XoAAABg4xrct28/A4MuKvsd16BB/egk7+gkbwfdIoiCXUYBAABcDAODguxBylGFsANGCAEAAFwJA4NiDhU66OZA+QhCAAAA165BB90W2Er2XX9pQtgOQQgAAOAaqEGh0ISwD4IQAADA9WqQ+WNEQBPCDghCAIC9pWdkLF254elnO3824mu2PmBeDbLdBEETwtYIQgCAXS1euvbJBi++/d7nJ0+fv/8gma0P5IkaFBxNCJsiCAEAdnXj5q1BA3pvWv0j2x0wBTUImhA2xTqEAAC7GvJBP0mSEpPus92BPFGD0Nu3b3+WJQr37dsfHpDCJoKFGCEEAAAAXHLfUcfdFigHQQgAAOCMGB5Enk2YfSUSIL8IQgAAAKdDDcJE0UnebCtYgiAEAABwaiwyASOPB3YchYUIQgAAAOfCfoDIVxMySAhLEIQAAADOG3UMDyJPDBLCEgQhAACATZSu2syMLGR4EIA9EYQAAAA2ZEngMTwIEx8bfI4AsxGEAAAA1pT9rbl5Q4XITXJy8tv9+n34wQdsIsBy7la4DAAAABjIMf9KV2129eROAbdTSkrK9m3bLl28ePXq1aioKG8vr2LFi9etV++51q19fHz05xkxfLi7u/uYcePyvMCMjIxdO3cGBAaafhsOHzq0d+/eixcuxMfHlytXrvITT7zYtq23Nws2AAQhAACAfUPRSBYqbyBx+bJlUyZNSkxM1O2Z5ubm6+v78OHDgwcPrl2zZuzo0XsPHPDw8JAkKT09fcP69V5eXqYEYb6kpaUNGzp008aNkiSpVCovL69DBw9KkjR75syZ331XoUIFyWXt27ffcDoZYT9xgIUYIQQAOIC/n+/e7auCgvLxAT/gKq6e3Gm86/Rv3OUvcqtEBRxAOP7LLxfMny9JUrfu3Tt37RoREaFWqzUaTWRk5P59+9auWaPVauVzent7fzJ0qFqttvptGDF8+KaNG4ODg0eOHl3vqad8fX0vXbw48euv9+ze/VafPus2bixQoIDVrxRwIQQhAMAB3NzcKlWMYNNDkWNi+fqtFfzrb9q4ccH8+Z6eniNHj36pXTv96W5ubqUe6dK1q/5EDw+PHq+/bvXb8PfRo+vWrvX09Px52bKSJUvKJ1aoWHHm7Nl9e/c++Ndfc7/77sOPP7b69QIuhCDEv+b9vC3yZqz+n24qVZHCwcXCQ+vUiChU0MEfnu07eG7nnhNnzkfei7tfqULxGlVKd3qpkbe3p2NvFQBYSMExAMFlZmZOnzZNkqRevXsb1qAlEhIS/Pz83N3z8fZ1+bJlkiQ917q1vgZl7u7ub/TqdfCvv9asXv3Bhx+6uTHPIsRFEOJfK9bv2X/oXPYt4u3t+UbXFqM+7e5ugx058pSalj7wkzkr1+/9Z9d/j70Hz0qS9PW3a5bO/eiJiiXsf5MAWAUtBMs57RFT+X14O+0vYrYjhw/fiIz09PR8tUcPU86flpbWqH79gICA7bt2yafcvn372RYtqteoMXP27CmTJu3ZvTsqKmrO9983atzY9Jtx8K+/JEl6oU2b7N9q8vTTAQEB8fHxVy5fjihXzvTLBBSGIERWYz/rUe9J3ctienpm7L2kvX+dmb9s++yffvXx9vz8wy72314fDPth5fq9ocEBU8f1bVL/CT9f77MXbnwxfsn2P4937PXV3l/GBwf5cy/C5dBCcAbKixAnQQ1KkrR/v+4AyDp164aGhpq43R4+fKj+7+hfZmbmjcjIDu3axcXFRUREVKpcOSgoyPQ7Iikp6ebNm5IkhRctmv27arW6SJEiSUlJFy5cIAghMoIQWVUsV7R2jX8/J3uxVZ26tcr3ee+b2fN//eyDzm5uKntusr+OnF+y+k8vT4/fVo4sW6qwfGKVSiWXzP2wY88vdx84M2X2+lGfdLfnTYLlaCEoBkEFy1/ZlPooirx+XZKkYsWKWXg58fHxAwYOfLVHD/0CFaZLSEiQvyhYsGCOZyhYqNCFCxeSkpIsvJGASyMIkbc2req4q9XJyWnXbsSUKfm4yvS0Wu21G3c83NXFwk39CNB0Py3ZLklSu+ef0tegzMNd/XafF3YfOPPzyl0jPu5m50y1BC0EKP59MMRh+Uu6gp8FcXFxkiQVKVLEwssJCQ3t+9Zb5v3swwcP5C8Cc1mxUJ5f9ME/ZwPERBAibyqVSq12y8jM9PT4zwMm+nbckJE/7dp7Kul+su5VNdC3eePq44e/rp+BZteek516TyhdKuyvLROzXOaZ8zeath1apVKJHevGGrnqPX+dkSSpY9sG2b/1bNOagQG+9+LvX7h8s2I5Sz+ABFyOgt9HAq4egfolJUw5W/YTlfHRYWpqqjx3qOGJDx8+/G72bMNTIiIirDXlTHb6NS1y4+pzyRguQgiYjSBE3vbsP52alh5RJrxokRD9iXsPnn2t3+T4hAfNGlerV6t8ZqZm94HTa3/Z/+e+U8t/+LhW9bKSJD3dsErR8JCLl6P3HjzbsG4lw8tcsX5PRmZmp3aNjFxvYtLDyCjdrKfFi+awp4da7VYsPCQx6eGZ85GuEoTK+BuvDNQUAFtEoHVfhRo0qO+6SxH6+/vrxwn1kpOTv58zx/CUZ1q2tF0Qenl7y1+kpKT4+fnlVq3e/5wNEBNBCGNSUtJ+2Xr4k1EL/Hy9p4zpo1I93jMzLT3jvaHfxyc8mDWxf5f2/0729c3cjV+MX/LhF/O2rh6leuT1Ls3HTFq+aPlOwyDUarWrNuxVq91eadvQyLXHJTzehSOsUM6LXoQVCjpz/kZC4kPuRfsjqAAom3nje6YQ5PUzODhYkqTY2H+Xs5IkKSgoaPXatfLXu//8c/KkSTa9DYEBAfIXsbGxOQbh3Uc3L+Cfs7k6QR5asDqCEFn1HfStp6duB4+0tPT4R0nWsmmNiSN7lSxeSH+eBct2XLoS/WKrOoY1KEnSgL5t1m4+cPT45Y1bDrV9rq4kSa92bPrV1FXrfj0w/oueAf6PDwfff+h8ZFTss81qhhUyNlfY/Ud7oso7o+Z4huACuk8f7z9IUd69yGs6AChgGNAWl+AqqlartnbNmnNndStF6anV6oqVHn9AfPnyZVvfhuCQkICAgKSkpDsxMaVKlcp+BrlXsyxR6CrYXxTW4tp7TsMWSpcIq1a5VLXKpZ6sHlGrWtngIP+tu4516jNh5+4T+vMcPHpBkqRO7bIuBKRSqdo8W0eSpGMnr8inFA4Lav1MreTktFUbdAsJylas3yNJUteXmxi/Jfo9/1VSznPGuNBcMrKrJ3ea+FagdNVmhv/Z/qYBgIhMeaWVX7pNfwE3wsRLUEY0NmzUSKVSnT9//uiRI466DSqVqlr16pIk7dv775sQvdu3b0dHR3t6elaoWNERtw5wFowQIqthgzu3aKJ79ZRlZGauWLd30NC5HXuN/2Xp8KdqV5Ak6cIl3ao+2WcclXtSkqSLV6L1p/Ts2mLjlkMLV+x8o9szuuUNMzLXbT4QGOD7Qsvaxre+j/fjI9GTU9L8/XLYvz81Nf3R2Txd6140cbIBQ4ZnVsYbBQBQ9khg9ld78y7TdQ8jLFWq1NNNm+7auXPWzJmz58xx1PQtbV96ae+ePatWrnx7wAC1Wm34rVUrVmRmZj7XurWXl5fk+nh7ALMxQog8uKvV3To0efettlqtdsI3q+UTo27d0+2JEZTD7vjyFKMxsY9X/pEkqXnj6iWKFTx6/PLpc5GSJG3741hc/P32Lzzl5fWfmceyCwx8fPm378TneAb5WgIDct6h1MmZ/WEzI4cA4OQjgTleuE3P75yGDhtWoECBPbt3v//eezExMfmdAtQqnn/hhXLlyt25c+eDQYPS0tL0p+/aufPHH35Qq9V933xTckHsLworYoQQJmlYr9KkmdLp87qikyQpPCz4TmxCTGxC9rUH795L1H0uaHDAoZubqkfn5uOmrFi0Yue4YT1WrNPtL9qtw9N5XmnBkIDAAN/EpIe378RHlM5hIaOYR6GYZYlCZYwW6t8KGP8km5FDADDlFdL4i7CtWXgtrjtIWLx48bk//DBwwICtv/++Y/v2GjVrli5d2tfXNykp6dq1aydP/Hsoiu14eHhMmjq1d8+eW3//vU3r1nXq1g0OCTlz+vThQ4c0Gs1nw4bpj2l06RpUxicIcBSCECZJTtF9qOb+z74WZUsXOX766rXImFrVdMtLGLpyXfcRYLmy4YYnvtap6fjpq5av3T34nfabtx0pU7KwvOupcSqVqnaNiB27T+zcfSLLqhXyKog3ou96eXpUqeSSx4Ibz0L56ywfVBOHAOAqEWj51SljQcIqVauu27Bh2ZIlmzZuPHrkyJHDh+XT1Wp1yZIlGzZq9EKbNvozBwcH+z1arELm5uYWHBxcIKc15VUqVZYzG1GuXLnlK1dOnTJlz54969etkyTJ09OzatWq/d95p8nTeX88DSgeQQiTbN11TDdjWOXH6VW7RsTaX/av2bS//Qv/+YxKo9EuXfOnbkSxbmXD04uEBbdqVnPztiPvfPxdSkpal5ezzkaTm87tG+/YfWLhip0fv9tBn6OyBct2ZGZq2j2f966nCshCwzMYfis3jBwCEIcTRqC16JvQdQcJ5UUd+r71Vt+33nrw4EFsbGxqamrB0NDgkBD9WlYyT0/P3fv2GZ5SqFChLKfo+fv75/atHBUJD/9qwgTdvkUxMYmJiWXKlMlyPKELYXgQVkcQIg8pKWmzf/p1/tLtbm6qt3u/IJ/Yu3vLWfM2b/jt4LK1u/UrT2RmakZNXHbh0s0XW9VpUDfrhF09u7bYvO3Ilh1HVSpVl7zmF9V7uU39ad9tOHvhRp93v5kz5R2vR+thSJL02/aj38zd6K5WD/rfSwq7C/PMQsOzGZ4hN8QhAOVRcATmxqWbUOb3iGNvQ9gjksvi0EHYgkqb+XipN9jOvzOMHZzhzNv5ha6j9h86F1G6iDxNi1arTUh8GBV9Ny09w8vT4/MPO+uDUJKk33f+3ee9b+4/SGlQt2LNqmXT0jL2Hjxz5vyNChHFVs4bUrxo1mMLNRptjabvRUXfbVi30sYln5t+q85euNGux7g7sQklihVsWLdSaEjgidNX9x48q9Fox3/Rs+9rz0pOqXTddyx/a2Lk2ELTf0Scd0sAlE3ACMz+i7t6E8LqNajIxzzsjCC0B1cJwq5vTjz890XDUwL8fcqUKlypfLH/9WxtuDC97PqNO8PGLTpw+Pydu4kqlapMybAXnq3z2fudctuH891P5y5asfObL996tVPTfN2wqOi7oycu37H7+J27uhlrvDw9qj1R6uOBHVo2rSE5K6sEoZH3QKZcGnEIwNUJG4FZ0ISgBmE7BKE9uEoQmi32XqK3l2eOSwXqpaVn1Gw6KCHpwdl9MwP8fcy7olsxcfEJD8qVDc9yPKGyg9DCLDR+CcK+uwLgtIjAPDcL44SioQZhUxxDCCsoGJLDDGCyzEyNWu12/0HKuCkrbsXE9e/V2uwalCenKRIWLAkpxwUqcjy80PglGP5gbjjsEICzRSAfVBlOOqqA4wlhOmoQtsYIoT0ofoTQiI5vfHXi9LW7cUlarbZsqcK/rRwZGhwgCcDqI4SWH15o+kXlhjdkAKyICLRwo9GEIqAGYQeMEMK2XmxVNz09w93DvVbVMv16PS9IDTrPZKSmX5ThheSGkUMAFiICLcQ4oVCoQdgHI4T2IPIIobBsPUJoo9FC4xebG0YOAVjyYsJriIWblKFC5clteQmeLLAFgtAeCEIB2TMIbZqFuV24Efy5AkAE2hpNqGDUIOyMILQHglBA9g9CO2ShkWvJDXEIiIMIdPgGZ6jQ1RlZd56/p7AdgtAeCEIBOSoI7ZmFuV1XbvhjBigPEehs258mdF3UIByFILQHglBAjg1C+2dhbteYG+IQcFEsEuiEyEJXRwrCsQhCeyAIBeQMQeioLMztenNDHAJOjgh00fuI0UKXTkH+PsJuCEJ7IAgF5DxB6NgszO3ac0McAk6CCFTMXUYWumIK8gcR9kQQ2gNBKCBnC0JnyMLcbkNunGGLAUIhAhWALHR+pCCcDUFoDwShgJwzCJ0nC/XoQ8CxmBVGkchC50QKwjkRhPZAEArImYPQCbNQRhwCTvJcc/irAWx9L7MfqVN1oIznHRyFILQHglBAzh+ETpuFMuIQsPNzykme+7AustCxSEG4BILQHghCAblKEDp5FsqIQ8BGzx2neqbDgY8EBgwd0oE8B+EkCEJ7IAgF5FpB6BJZKCMOAQufI074vIbzvH5ShvbpQJ6JcCoEoT0QhAJyxSB0oSyUEYeAic8Fp30WwyEoQ+uiA+HqCEJ7IAgF5LpB6HJZKCMOIRoiELZ+COkxbGhhBLrEn1GIjCC0B4JQQK4ehC6ahXr0IRSJCIRDHleGRI5DMyLQhf5uQmQEoT0QhAJSRhAaea/gQr8OcQiXRgTCeR5sovWheQXocn8lAYLQ3q+wVw/O4GEnAiUFoTKyUEYcwiUQgXDyR6BS+9CSAnTRP4sAI4R2QhCKRnk1qLAslBGHcCpEIJRUhs5fiZa3nwL+DgIyRgjthCYUioKDUHlZKCMO4ZwPPJd+WkFhrBKHditG6/Zejnh6QjEIQse8jLLjqIIpvgYVnIUy4hAOfIAp4BkEEdguDp0cz1AoEkHo0AkbOZ5QccSpQWVMRmrF9z1K+pXtID0jY9XazTO/W9ikUd2xIz6SlI4IhLIpuA95bYcICEK7UvArJnIk1B8SZWehjMFDq1i8dO1Xk2ZH3bwlSVKP7h2mfT1cUhz2BYXIXPrdjvL+cgF5IgjtzaVfJZEvYv5RESELZcSh2cZPnl0wNOSJSuXadOitpCAkAgFLniD2p9Q/T0B+EYQO4ISvibAu/saIk4Uy4tAMiUn3S1dq7OpBSAQC9nkqmUfZf3oAayEIHYYsVB7+8AiehTLiUPFBSAQCAJTE3dE3QFwivDOG4OQHueG7Z/lrZT/4DX874+Xwn9VoFL1NFIAIBAAoFUEIwLbEzEJZlt/RSFQQh06ICAQAiIAgBGAPImdhfgcPiUMHIgIBAKIhCAHYD1mYZVPkKw5F62e7IQIBACIjCAHYG1mY4waRcdihfRCBAADICEIAjkEWGtksMuLQuoxvT0ZfAQBiIggBOBJZmOfGkRGH5iECAQAwjiAE4HhkoYmbSI85aYwgAgEAMB1BCMBZkIX53VYy4pAIBADAbAQhAOdCFpq3xQSMQ0YCAQCwnEqbmWyFiwEAu7zjV0bJOMlEmo7dqhqN5vyFK0FBgUUKFzL9p4hAAACsiyAE4OxybADK0PJtmCMn3LBEIAAAtkMQAnANZKFNt6SzxSERCACAfRCEAFwJWWiH7WmfOExMul+6UuMe3TtM+3q4KTfGCYcuAQBQAIIQgOshC+25YW3UZnIQBgYH2fqKAACAEQQhAFdFFtp/81rebHleLBEIAIA9EYQAXBtZ6KiNbHrLEYEAADgtghCAEpCFjt3U+cUwIAAAToIgBKAoLF3o2K1tBBEIAIATIggBKBBZ6MBNnSfKEAAA50EQAlAsstBuGzZ779lzwlIAAGA2ghCAwpGFNtqMpncdcQgAgNMiCAEIgSy0ykazfHCPOAQAwKkQhAAEQhaasYlst4cncQgAgMMRhACEQxbmuUHsf5if6ZPTcNghAABWRBACEJTgWegMEZgb4hAAALshCAEITagsdOYINII9SwEAsB2CEACUnIUuGoG5IQ4BALAughAAlJaFCovA3BCHAABYjiAEACVkoZE6conbbyHiEAAA8xCEAOCqWSh4BOaGOAQAwHQEIQC4UhYSgdbaXM52zwIA4BAEIQA4exYSgXbYkoaIQwCAOAhCADC/JWxUDoLMCuNYxCEAAAQhADhLFhKBDkQcAgCExQghADgsC4lAJ0QcAgCEQhACgF2zkAh0IcQhAEDxCEKXmQEProLju0RjShYSgQpAHALO8BTLF/4iA6YgCB2GFFQ2/giJJr/PaB4hLo3VLACbPnHsg9dhQEYQOoazvSbCFvhLIyBGAsXE4CFg3pPCCfG3GwIiCB3AdV8lkV/8XREBMQAeDxCcst/Y8KccikcQOsEK1wdn2P1WwIZK133H8J/8IVEkU1aKt+e6hXBOfFgABbNiBO7bt1+ytgYN6lv9MnkNh1IRhI589SQFBclCGkCcCDTxB3lICIg4hLARaIvec4Zi5JUcikEQ2lHyqf9EAgODSkcTihyBplwUbyaERRzCheQrAp2z/exQibyew6URhI55SaUGRUAQuigrRqApF87bCMERh3DpR6arF6DV+5CXdLgigtBeGB4UEk3oKmwagaZcHe8hkOdDkQcMnOERqOwCtGIf8qoOF0IQOiAIGR4UB0HozOwcgabcAN5AwPgjJEc8bGCLlyNDIkeg5XHIMxTOjyC0F4JQSAShs3F4BGZHFsK8x0mOeOsJC19/9IhAq8chT084LYLQXghCIRGEzsAJIzA7shCWPFqc/OENZ0MHOrAMeWLCCRGE9kIQCokgdNiWd4UIzI4shOWPGZd72MMZHjCMB9q5DHlKwqkQhPZCEAqJIHSSt8Wu9aeXLIS1HjkKeDrApg8POtCxZciTEU6CILQXglBIBKFtN6+CIjA7shBWfwgp72mCPDEk6PxlyNMQDkcQ2gtBKCSC0PqbVNERmB1ZCBs9kAR5BomMFHRCZCGcE0FoLwShkAhCkQ8ItCKyEDZ9OIn85FIqdhB1ZmQhnA1BaC8EoZAIQvM3nfARaOI24V07LEEcKg8p6CrIQjgPgtBeCEIhEYT521xEoLlbiSyE5YhDV0cKKikLeVWHPRGE9kIQCokgzHsTEYHmPbTIQtgScaiAu4wZRF0IWQjHIgjthSAUEkGY82YhAq31ACMLYRdMWOrMGBhUdhYyVAg7IAjthSAUEkH476YgAm33MCMLYUfEoVNhYFB5yELYH0FoLwShkAQPQiLQ4VtbwEcd7Ik9Sx2IgUEFowlhZwShvRCEQhIwCIlAJ9z+gjz24FjEoWO3NkcMipCFvJjDRghCeyEIhSRCEIq2UrxLIAvhhI/A7Hh9sNbmpQaViiaEfRCE9kIQCkmpQUgEugSyEM6AOLT19qQGlY0mhB0QhPZCEApJSUFIBLooshDOgzi0+gakBkVAE8LWCEJ7IQiF5OpBSAQqBlkIJ8SEpRZuLmpQ5Cx0xTcVcFoEob0QhEJyxSAkApUt+/3rkEdmekbGqrWbZ363sEmjumNHfGT/GwBnQxzmd/tQgwKiCWEj7ra6YACugwgUh5x/hve4/LU9s3Dx0rVfTZoddfOWJEm1ala12/XCmRk+AnN7Rcpyuqt8ymY5ahCyffv2GzZh6arNxHkWwKYIQkBQRKDIHJuFN27eGjSg9xOVyrXp0NsOVwdFxmGWbyn4bTE1CEM0IWyBIAQEQgTCGbJwyAf9JElKTLrP3YE8CR6H1CAAOyAIAYUjAuH8O5ECphA8DjluEPqHATuOwroIQkCBiEDkF1kI15Kl9Ew57NDl4tDEVTogIJoQ1kUQAgph5K2Dy70NgqOQhRBkThp7viqaN/MHO4siX00IWIIgRA7m/bwt8mas/p9uKlWRwsHFwkPr1IgoVLCAozaZRqPdtOXg94t+b1C30ifvdXTUzXAqRCBsgSyES3PCOGQ2SPAYgzMjCJGDFev37D90Lvvp3t6eb3RtMerT7u5qtT03XGpa+vK1u6fP3XTpSrQkSSWKFZRExb6gsBuyEArgPKtZ5KsJGR6EKRgkhLUQhMjV2M961HuynG4J6fTM2HtJe/86M3/Z9tk//erj7fn5h13sueFGTlg6Z8FvT1Qs0aBuxX0HcyhVZSMC4UBkIRTDIXPSZJmuiR34ATghghC5qliuaO0auiCUvdiqTt1a5fu8983s+b9+9kFnNzeV3bbdWz2f+3TQKwH+PivW7XH1IDTxDQERCJfIQo5QhYty1ISlpvwJYHgQ5g0S8okDzEYQIh/atKrjrlYnJ6dduxFTpmThLN/VarXXbtzxcFcXCw+17mYtXSJMUpDc3mEQgXC5LGSNCiiAnScs5V07AGdDECIfVCqVWu2WkZnp6fGfR0707bghI3/atfdU0v1kSZIKBPo2b1x9/PDX9TPQ7NpzslPvCaVLhf21ZWKWyzxz/kbTtkOrVCqxY91YAe8MIhAuhyyEstlhThqa0LqSk5MHv/++r6/vxMmTrXzRgBgIQuTDnv2nU9PSI8qEFy0Soj9x78Gzr/WbHJ/woFnjavVqlc/M1Ow+cHrtL/v/3Hdq+Q8f16peVpKkpxtWKRoecvFy9N6DZxvWrWR4mSvW78nIzOzUrpEI94T8JsCUpaU4zgROjiyECCyMQ+M7o+b4Oi/C/qIpKSnbt227dPHi1atXo6KivL28ihUvXrdevedat/bx8dGfZ8Tw4e7u7mPGjcvzAjMyMnbt3BkQGGjKtWs0mm1bt/68eHHtOnUGDBwoKQufNcA8BCFMkpKS9svWw5+MWuDn6z1lTB+V6vEBhGnpGe8N/T4+4cGsif27tG+sP/83czd+MX7Jh1/M27p6lOqR17s0HzNp+aLlOw2DUKvVrtqwV612e6VtQ0HuiRzfH2SvRA7QgksgCyEOq48civneffmyZVMmTUpMTNQtauXm5uvr+/Dhw4MHD65ds2bs6NF7Dxzw8PB4NJtd+ob16728vEwJQhOlpaWtX7du3g8/XL16VZKkokWLSorAXKOwHEGIXPUd9K2np+51OS0tPT7hgSRJLZvWmDiyV8nihfTnWbBsx6Ur0S+2qmNYg5IkDejbZu3mA0ePX9645VDb5+pKkvRqx6ZfTV217tcD47/oGeD/+CPA/YfOR0bFPtusZlihIJHviSxvC3KcuoNhQygsC/39fPduXxUUZNKH+oCrr2aR23mEasLxX365YP58SZK6de/euWvXiIgItVqt0WgiIyP379u3ds0arVYrn9Pb2/uToUPVVl3javLEiYsXLSpfoULtOnUOHzpkxUsGXB1BiFyVLhEWGqJ7r6bVauPi71+NjNm661inPhPGf/56s8bV5PMcPHpBkqRO7RpnP9qwzbN1jh6/fOzkFTkIC4cFtX6m1sYth1Zt2PtGt2fks61Yv0eSpK4vNxHkbjDyHiLH8DPlPICLZqGbm1ulihF2vIGATZg+N5jgTbhp48YF8+d7enqOHD36pXbt9Ke7ubmVeqRL1676Ez08PHq8/rp1b8BrPXoMePddf3//jRs2EISAIYIQuRo2uHOLJtX1/8zIzFyxbu+goXM79hr/y9LhT9WuIEnShUs3JUnKPuOofmrQi4+Wkpf17Npi45ZDC1fslIMwPSNz3eYDgQG+L7SsLeDdYEoc5jcgAYdjJ1KIzLw4FKEJMzMzp0+bJklSr969DWvQEgkJCX5+fu7upr6VLV6ihFWuF1AeghAmP1bU6m4dmly+emvSzLUTvlm96qdPJEmKunVPkqTgIL/s55enGI2JTdCf0rxx9RLFCh49fvn0ucgnKpbY9sexuPj7r3dp7uWl2zFVZPndX5Q4hJMjC4F8yXMXa1d35PDhG5GRnp6er/boYcr509LSGtWvHxAQsH3XLvmU27dvP9uiRfUaNWbOnj1l0qQ9u3dHRUXN+f77Ro2z7qMEIL8IQuRPw3qVJs2UTp+PlP8ZHhZ8JzYhJjYh+9qDd+/pDhkvZXDAoZubqkfn5uOmrFi0Yue4YT1WrNPtL9qtw9PcB4byu78ocQinRRYCkO3fr5srtU7duqGhpq5U/PDhQ/V/R/8yMzNvREZ2aNcuLi4uIiKiUuXKQUFCT0AAWAtBiPxJTkmTRwvlf5YtXeT46avXImNqVdMtL2HoyvUYSZLKlQ03PPG1Tk3HT1+1fO3uwe+037ztSJmSheVdT5GdGdXHVKVwQmQhkNvzwnB/UTOOP3QhkdevS5JUrFgxCy8nPj5+wMCBr/booV+gAoDlCELkz9ZdxyRJqlq5pPzP2jUi1v6yf82m/e1fqG94No1Gu3TNn7oRxbqVDU8vEhbcqlnNzduOvPPxdykpaV1eZk8Pe8QhBxzC4chCCCW3FYaMnKjg/UUlSYqLi9O9ByhSxMLLCQkN7fvWW1a6UQAeIwhhqpSUtNk//Tp/6XY3N9XbvV+QT+zdveWseZs3/HZw2drd+pUnMjM1oyYuu3Dp5out6jSoWzHL5fTs2mLztiNbdhxVqVRdhJlf1IqYqhSuiyyEgCwsvQYN6itgbfrU1FR57lDDEx8+fPjd7NmGp0RERFhryhlxNGjw7yfyjx4qKQ69OXBJBCFyNWTk/MAAX3nZiYTEh1HRd9PSM7w8PT7/sHOT+k/I5/Hx8Zwypk+f977p/+GsBcu216xaNi0tY+/BM2fO36gQUWzcsBzmjG7ZtGax8NCo6LsN6lQ0PMIQZiAOoZgDZRU/qQZEY96D+erJnYrcd9Tf318/TqiXnJz8/Zw5hqc807IlQWiJ8ABqEOYgCJGDwADf0OCA+IQH8nr0kiQF+Ps0eqpypfLF/tezteHC9JIkPdus5u5NXw0bt+jA4fP7Dp5TqVRlSoYN6Nvms/c75Th9qJubqnnjaotW7GQ6GesiDqGAAUOyEMrARxtZBAcHS5IUGxtreGJQUNDqtWvlr3f/+efkSZPsdw8BMEAQIgdL536Yr+1SsnihBTPf173W30v09vL09/M2cua09Iytu475+Hi+9Hy9/G79V15q2OHFBiqVKr8/KBoWOYQLIQuBHO3bt1/eG1ABe41WrVZt7Zo1586eNTxRrVZXrFRJ/vry5csOumnKwf6iMBtBCGsqGBKY27cyMzVqtdv9Bynjpqy4FRPXv1frAP98TxGmUqnUamowf1jkEC6BLAT0zwV5qNzw2DBX17BRI5VKdf78+aNHjtR68klH3xzlMHyQsL8ozEYQwk4695lw4vS1u3FJWq22bKnCH7zdnk3vuoscsjcUbPoQZSdSIAtXHyQsVarU002b7tq5c9bMmbPnzHFzc3P0LQLwL4IQdvJiq7rp6RnuHu61qpbp1+v50OAANr0DsY4FnBlZCMEpcmqZocOG/X306J7du99/773PPv88LCzM8LtardZxN81VMb8orIUghJ306v5Mr+7PsLmdELPRwDmRhYCSBgmLFy8+94cfBg4YsPX333ds316jZs3SpUv7+vomJSVdu3bt5IkTjr6Bro39RWEJghDAv4hDOBuyEGJS5CBhlapV123YsGzJkk0bNx49cuTI4cPy6Wq1umTJkg0bNXqhTRv9mYODg/0eLVYhc3NzCw4OLhCYw1QFKpUqy5lFwPAgrEilzUy25uUhN8mnStd9R/7y6sEZbCdB6O90Vz/uzsj7ktyOS8zxPIDVH4c8uiDUY96lBwkNPXjwIDY2NjU1tWBoaHBIiD3nD9dqtRqNRqVSue6hjFlqkOFBWIgRQgB5Yx0LOOdoIUsXQjSuvuOont8jDrnqRzOWqyWXlWX6WWoQlmOE0F4YIRSSYkYIc5PbqKCRgMzxPIBVHns8qCDIQ10ZTQjzMDwIqyMI7YUgFJLig1DPxP1FiUPY4YGn7OcaBEQTQo8ahC0QhPZCEApJnCA0xAGHcIaHnDjPOIiAJgQ1CNshCO2FIBSSmEFoiDiEYx9sYj7voEg0oeAYG4TtEIT2QhAKiSD8z9ZgqlLY4UlHFkK5aEIxZZlFhmlFYXUEob0QhEIiCHPdMsQhbPrUIwuhUDShaKhB2AFBaC8EoZAIQlvHITsEIr8PLR4zcHU0oTioQdgHQWgvBKGQCMJ8bzHWsYDVn4ZkIYR5qWQ5CiWhBmE3BKG9EIRCIghtGocmrnUBkIVQHppQnBTkuEHYGkFoLwShkAhC62xGDjiElTBaCIUhC0UYGJQkKTwgxXG3CMpHENoLQSgkgtD6m5Q4hG0eRYwqw0XRhIrBwCAchSC0F4JQSAShbTcvcQhrP37IQrgoslB5KcjAIOyGILQXglBIBKH9NjVxCOs9cshCKOxlkMlmXCgFOWIQ9kcQ2gtBKCSC0DGbnXUsYI2HDVkIV0QWunoKMjAI+yMIHfAaffXgDDteLRyJIHQ41rGAhQ8YshCuiCx0ZqQgnA1B6JhXZ5pQtBrkbaUzYB0LmP1QIQuhpCZkJ1JHIQXhnAhCu2KQUCgMDzotDjiEeY8TshAuhyx0EqQgnBlBaFcMEoqD4UFXQRwiv48QshCuiDJ0ng7kWEE4G4LQ3mhCEVCDLoo4hOmPDbIQystCdiW1dQeSgnBOBKHjX445nlDBKci7RtfFVKUw8VFBGUJ5WUgZWr0DSUE4M4LQeV+LoQC8U1QG4hB5Ph54ssMVUYZWQQfC1RGEDkMTKh5vEMWMQ1PqEQpAFkIxopO8jSeNHgvc6+W5xfTbKjwgxaK7B7A9gtDByEJF4n2/IFjHAmQhxCxDMePQlI1DB8IVEYQAYAXEocjIQohchgqOQzPymPFAuCKCEACsialKhUUWQnmik7zz1UWunohmZzAdCJdGEAKArRCHAiILoVRmx6FzVqJ5vwgRCEUiCAHAHpiqVChkIUSIQwv70Ka5aKMbxkggFIkgBAB7Iw7TMzJWrd0887uFTRrVHTviI6U+BMlCCMIWfegoWbqUAoQICEIAcCQB17FYvHTtV5NmR928JUlSj+4dpn09XFI0shDC9qGTV2KOY5IUIAREEAKAsxBkqtLxk2cXDA15olK5Nh16ixCEMrIQgstSifYpRuO7odJ+gIwgBABnpPg4TEy6X7pSY3GCUEYWAvnNRUuQfIAp3E06FwDAvnILP8N/5us8cAY57gYs/5N7CiKj3AAHIggBwKkZdoIlcUhvOA+yEADgPAhCABAiDhk2dDZkIQDAGRCEAKD8OGSfUqdFFgIAHIsgBACXRxy6OrIQAOAoBCEAKApx6LqM7OvLIaAAABshCAFA6DhkqlKXGDAkCwEANkIQAoDQccg6Fk6LLAQA2AFBCADCscoih+zEaB9kIQDApghCABAX61i4ehZS5gAACxGEAAAdZqNxfkxGCgCwOpU2M9n6lwoAUIosu4zm2SfZz5AjjUZz/sKVoKDAIoULWeNmCifHzc5+vACA/CIIAQC2jUMqxXbY4AAACxGEAABrxmFus9GQhbZDFgIAzEYQAgDsHYfZzwDLkYUAADMQhAAAqzHleELi0KbIQgBAvhCEAABXmo0GZm98tioAIDuCEABgc8ShQ5CFAIA8EYQAALsiDu2MLAQAGEEQAgAchjh07KZmJ1IAAEEIAHDtOKRqLNzIbEAAEBlBCABwOqxjYf/NSxYCgJgIQgCAC8chU5Vad8OShQAgGoIQAOAaOODQbluVLAQAcRCEAADXQxzaYXuShQAgAoIQAODaiEObbkmyEACUjSAEACgHcWijbUgWAoBSEYQAAGViHQurbz2yEACUhyAEACgf61hYcbuRhQCgJAShQyWf0v25rfuOY28FrI53S4AzYx0Lq2w0XugAQBkIQgchBQXAuyXAyXHAoeVbjBc6AHB1BKEjUIPC4K0S4CqIQwu3FS93AOCiCEK7owYFw5skwOUQh2ZvJV7xAMDlEIT2RQ2K4erBGYaHhvIOCXBdTFVqxvbhRQ8AXAhB6PgavHpwhj1vBWwkyz1LEwLKQxzma8uQhQDgEghCRwYhKag8We5f/T95YwQIFYd5pqMikYUA4IoIQnuhBoWR2zoiCn4XCAiOdSzy3Bq8AAKA0yIIHROEjA0qm+EdzSAhIBTi0Mh2IAsBwAkRhPaSfIqdRQUfJOSdECAUpiolC2GV54vZ+LMLmIggtBeCUDA5zB7ELqOAqASPQ0YLYaPks4QCnlmAtRCE9kIQCoYgBGDdOHT1969koVCcLf9M4epPMcBsBKG9EISCIQgB5P1CIV4ckoWK5Ir5ZwrXfaIB+UIQ2gtBKBiCEED+XjREWseCLFQAK0bgvn37JRto0KC+FS/NFZ9ogIkIQnshCAVDEAIw/wXE6MCgYuKQLBQnAm2UfI7KRdd6ogF5IgjthSAUDEEIwDovJkqPQ7JQYRHohO1n00p0lScaYARBaC8EoWAIQgBWflVR9FSlZKHrdqBLF6AV+9D5n2VAbghCeyEIBUMQArDhK4xCZ6MhC12iAxVcgFbpQyd/lgHZEYT2QhAKhiAEYKdXG8XFIVnoJNvckLARaEkcOu1TDMiCILQXglAwBCEAB7zyKGiqUrLQgdtZRgRaJQ6d8MkFZEEQ2gtBKBiCEIBjKSMOyUJ7blgZHWg2yhAuiiC0F4JQMAQhAOfh6nFIFtp6Y9KBditDJ3lOAYYIQnshCAVDEAJwTq67jgVZaIsNyHigQ8rQ4c8mwBBBaC8EoWAIQgDOz0XjkDK0yhYjBe2GLISTIwjthSAUDEEIwIW44lSlZKF5W4kOdLYyZLQQDkcQ2gtBKBiCEICLcq04JAtN3zKkoJMgC+FsCEJ7IQgFQxACUABXmY2GLDS+NUhBl8jCffv2hwekOOjmQGgEob0QhIIhCAEj0jMyVq3dPPO7hU0a1R074iO2lUtw/jgkC0lBl0MWwhm4O/oGAADEsnjp2q8mzY66eUuSpFo1qzr65sBUhl2XJTwM/5k9DrN813ZbPMc9WuV/inCYFjXoiuTBW8MsbNCgPkOFsDOCEABgVzdu3ho0oPcTlcq16dCbTa/gODSSZ9kvxOq3TagsJAUVloXyF2Qh7IYgBADY1ZAP+kmSlJh0n+2u7DjM3n7G09EWt0qELMzyO3K4oOvat28/Q4VwCIIQAABYh7618hwYNJ6O1qL4LKQGFT9UKJ/CZDOwKYIQAAAo+YBDRWYhu4kKMlTI7qOwA4IQAAAoPw6VlIUMDIo5VMg4IWyEIMR/zPt5W+TNWP0/3VSqIoWDi4WH1qkRUahgAUdtrOs37qxYv2f/ofMxd+ILhwWVLxverUPTqpVLOur2AABcNA4VkIXUoLBDhTQhbIQgxH886q5z2TeKt7fnG11bjPq0u7tabc9N9jA5ddi4xYtX7EzPyJQkSa12O3Hm2tZdx+Ys2PLumy9+/mEXe94YAIAy4tB1s5AaFA1NCDsgCJGDsZ/1qPdkOd3i0emZsfeS9v51Zv6y7bN/+tXH29PODebl6fHL1sM1q5Xt90brOjXLFQsPjb59b+HynZNnrpsye33dJ8u3bvEkdyEAuDrL49CMkHO5LKQGxUQTwtYIQuSgYrmitWvoglD2Yqs6dWuV7/PeN7Pn//rZB53d3FR222pqtdvGxcPKlQ3Xn1IsPPST9zref5Ay88dfps/ZSBACgMKYt8ih2cOGrpKF1KDIaELYlJttLx5K0aZVHXe1Ojk57dqNmOzf1Wq1VyNjoqLv2uKqDWtQr93z9SRJOnM+UnLxSeEAAEZcPblT/1+Wl1MjY4Pydw3Pk6fsV5HlWhyLGoThCpMNGtSPTvJmm8BaGCGESVQqlVrtlpGZ6enxn8dM9O24ISN/2rX3VNL9ZEmSCgT6Nm9cffzw1/Uz0Ozac7JT7wmlS4X9tWVilss8c/5G07ZDq1QqsWPd2PzeDfLlJ91PTs/I9HC362GNFrLDewun+kgbAOy8yKElBxy6xGghS88LK8vK9dFJ3sw7CqsgCGGSPftPp6alR5QJL1okRH/i3oNnX+s3OT7hQbPG1erVKp+Zqdl94PTaX/b/ue/U8h8+rlW9rCRJTzesUjQ85OLl6L0HzzasW8nwMles35ORmdmpXSMz7oPLV2/p/kiXCHOtGlRGczrPuyIAYrL1bDTOloWGt4QaFJy+CeVJR2lCWAVBiDykpKT9svXwJ6MW+Pl6TxnTR6V6fABhWnrGe0O/j094MGti/y7tG+vP/83cjV+MX/LhF/O2rh6leuT1Ls3HTFq+aPlOwyDUarWrNuxVq91eadvQjPtg2x/HJUmq92QF7j/7Y5ATgAhxaPUsLF21mRk/6CT7rMIJyU3o6FsBJSAIkYO+g7719PTQVV9aenzCA0mSWjatMXFkr5LFC+nPs2DZjktXol9sVcewBiVJGtC3zdrNB44ev7xxy6G2z9WVJOnVjk2/mrpq3a8Hxn/RM8DfRz7b/kPnI6Nin21WM6xQUH7vg5g78fOWbFOpVO++9aJr3X92+GhZGW8dGOQUgb+f797tq4KCAh19Q6ActohD62aheU2ox7t/sOMobIEgRA5KlwgLDdG9S9NqtXHx969GxmzddaxTnwnjP3+9WeNq8nkOHr0gSVKndo2zH23Y5tk6R49fPnbyihyEhcOCWj9Ta+OWQ6s27H2j2zPy2Vas3yNJUteXm+T3DtBotP0/mp2SkvZGt2cqlS/O/Wfn5iQ4TcSOtXlyc3OrVDHCwgckYJ91LCzMQrNfOdlZFDlix1FYF0GIHAwb3LlFk+r6f2ZkZq5Yt3fQ0Lkde43/Zenwp2rrdtS8cOmmJEllShbO/uOlS4RJknTxSrT+lJ5dW2zccmjhip1yEKZnZK7bfCAwwPeFlrXzeweMnbx8x+4TNauW+fLzHtx59scgp4nYsRZQ3joWRrLQ9JdH0wcJlfEBHGyNHUdhOYIQJjxK1OpuHZpcvnpr0sy1E75ZveqnTyRJirp1T5Kk4CC/3KYAjYlN0J/SvHH1EsUKHj1++fS5yCcqltj2x7G4+Puvd2nu5aXbMdV0cxb8NmX2+mLhoQtmvu/1aKdWKA+DnCZix1rAwlcYI/mX5z6l2Z+AuQ0Y5njO/L7QsbMosj8kmHEU1kIQwlQN61WaNFM6/c/Sf+FhwXdiE2JiE4qFh2Y55917iZIklTI44NDNTdWjc/NxU1YsWrFz3LAeK9bp9hft1uHpfG39ZWt3fzp6YaHQwLULPi1eNOuVAiZikNNEDHJC8ayyjoWR/UgtPGIQAOyDIISpklPS5NFC+Z9lSxc5fvrqtciYWtV0y0sYunI9JvuC8q91ajp++qrla3cPfqf95m1HypQsLO96aqL1v/41YMh3wQX8Vs//NKJMDkvVA86DQU4T0ZxQ0mw0OZ5u5AzGXyjYXxSmY69RWIgghKm27jomSVLVyiXlf9auEbH2l/1rNu1v/0L9LJO+LF3zp25EsW5lw9OLhAW3alZz87Yj73z8XUpKWpeXs85GY8Sv24+8OejbwADfNQuHVqn0+AYAwmKQ03TsWAu7xaHtsL8ocntgsNcorIIgRN5SUtJm//Tr/KXb3dxUb/d+QT6xd/eWs+Zt3vDbwWVrd+tXnsjM1IyauOzCpZsvtqrToG7FLJfTs2uLzduObNlxVKVSdTF5ftEdu0/0GjDd399nzYJPq1UuxR0G2AGDnCZikFPZbBqH7FBqoeTk5MHvv+/r6ztx8mRLLwsQG0GIHAwZOT8wwFdediIh8WFU9N209AwvT4/PP+zcpP4T8nl8fDynjOnT571v+n84a8Gy7TWrlk1Ly9h78MyZ8zcqRBQbN+z17BfbsmnNYuGhUdF3G9SpaHiEoRF/n7zyar/JqWnp3t4evQdOz36GQf1eeq0T87ABLoZBTtMxyKngOMytCRW5v2hKSsr2bdsuXbx49erVqKgoby+vYsWL161X77nWrX18Hq9RnJKSMmL4cHd39zHjxuV5gRkZGbt27gwINGkt06ioqI0bNhw5fDg2NrZQoUJlypRp//LLFStVkpSCvUZhCYIQ/xEY4BsaHBCf8EBej16SpAB/n0ZPVa5Uvtj/erY2XJhekqRnm9XcvemrYeMWHTh8ft/BcyqVqkzJsAF923z2fqccpw91c1M1b1xt0Yqdpk8nc/5SlJ+Pl5+PlyRJCYkPs58hNS2duxBAdgxymohBTtvFoVUoY3/R5cuWTZk0KTFRN+ecm5ubr6/vw4cPDx48uHbNmrGjR+89cMDDQ/e2IT09fcP69V5eXqYEoYmSk5MnfPXV6lWrMjIyJElSq9Vnz5z5848/Fi9a1LtPn0EffCC5MvYahVUQhPiPpXM/zNcWKVm80IKZ70uSFHsv0dvL09/P28iZ09Iztu465uPj+dLz9Uy8/M7tGndul4+jDQHAPhjkNJ2ym9NIHJpChB1Hx3/55YL583Wzi3fv3rlr14iICLVardFoIiMj9+/bt3bNGq1WK5/T29v7k6FD1f9MX2cVnp6e27dtq1q16muvv16jZs0iRYrE3L69cuXKObNnz50zp2atWs2aN7fi1QGuiCCEdRQMyXWfjcxMjVrtdv9ByrgpK27FxPXv1TrA//HOIQCA3DDI6XI71poXh8puwk0bNy6YP9/T03Pk6NEvtWunP93Nza3UI126dtWf6OHh0eP1HA45sYRarf5p4cIyZcroTykSHj5g4MCHDx/Onzfvh++/JwgBghA217nPhBOnr92NS9JqtWVLFf7g7fZsdABwOAY5nSc4ldqEmZmZ06dNkySpV+/ehjVoiYSEBD8/P3f3fLyDNaxBvVbPPTd/3rwLFy5Y5VYBLo0ghM292KpuenqGu4d7rapl+vV6PjQ4gI0OACJgkFNwRw4fvhEZ6enp+WqPHqacPy0trVH9+gEBAdt37ZJPuX379rMtWlSvUWPm7NlTJk3as3t3VFTUnO+/b9TY0sNJCoaGSpL04P79jIyMfOUloDw8AWBzvbo/06v7M2xoAIB1Mcjp5Pbv182IU6du3dBH9WWKhw8fqv+bZ5mZmTciIzu0axcXFxcREVGpcuWgoCDLb9u1a9ckSSpevDg1CBCEAAAAVm5OU/Yytefq9g4Ref26JEnFihWz8HLi4+MHDBz4ao8e+gUqLLd7925Jkmo9+aS1LhBwXQQhAACANZlYg46dH9UO4uLidJO4FCli4eWEhIb2festyXpiY2OXL12qUql69+1rxYsFXBRBCAAAYGVGRv/yjMAsi8u5rtTUVHnuUMMTHz58+N3s2YanREREWGvKGVNoNJpPhwxJSUnp3KVLuXLlJFemjMcJHI4gBAAAsKbcks/E8cDwgBT91w0a1Hfdten9/f3144R6ycnJ38+ZY3jKMy1b2jMIp0+dunfPnipVqnz62WeSUsgPEsNHDmA6ghAAAMC2lL1raG6Cg4Pl/TMNTwwKClq9dq389e4//5w8aZI9b9LiRYvmzplTJDx82rffenp62vOqAafl5ugbAAAAoGRm1KDrjgoaqlqtmiRJ586eNTxRrVZXrFRJ/q+oxfPN5Mv6deu+HDs2JDT0h3nzwsPDJRfH/qKwFoIQAADAJq6e3Gne2GCWvUYl19SwUSOVSnX+/PmjR444+rZIW377bdjQoQUKFPjhxx9Lly4tKQ77i8JsBCEAAID1ibmbqKFSpUo93bSpJEmzZs7UaDQOvCU7d+z4aPBgf3//H+bNq1CxouT6DD8mUMZ4MhyIIAQAAHA6yniXP3TYsAIFCuzZvfv9996LiYnJ8l2tVmuH27B3z57333vPz8/vh3nzKlWubIdrBFwLk8oAAAA4nfCAFP36E64712jx4sXn/vDDwAEDtv7++47t22vUrFm6dGlfX9+kpKRr166dPHHC1jfg1KlTA995Jy0tzcvb+4NBg7Kfoe9bb3V85RXJxYcH2V8UliAIAQAAnJ3rNmGVqlXXbdiwbMmSTRs3Hj1y5Mjhw/LparW6ZMmSDRs1eqFNG/2Zg4OD/R4tViFzc3MLDg4uEBiY/WJVKlWWM+fo8qVLPo9IkpSUlJT9DGlpaZJLcd1jSuG0VNrMZEffBjEknypd9x39v64enOHQWwObM7y7ZRxMAgDIr+gkb30AuGgQGnrw4EFsbGxqamrB0NDgkBCVSuXoW+R6GB6E1TFCCAAA4KQUs0i9zO8RR98KF5Z9eJCdRWE5JpUBAABwXoYRyO6CIsty77v6pwNwHgQhAACAs88uo/8nTSimHGuQ4UFYBUEI2OMAQgAAzEYTCo4ahE0RhPbDRDIC4k4HAFhFlrEgxgnFkeN9zdggrIggtBefKob/YgRJwbhzAQC2kGW2appQBNnv5X379lODsC6C0GHIBkXKsrgI9zIAwIpoQqFQg7AP1iF05GqEMvYqVIYs96x8t+pPZBFCAIDV/uJUbZblFCacVJgch38ZG4SNEISOfxGH8mSpQYIQAGBdNKGCUYOwM4LQAWhCZaMGAQCOejvBUKFLy+24UMYGYVMEoWPQhIKkIGODAADbiU7yzvEwM7a5kgYGmVMUtkYQOgxNKAIOHQQA2BpDha6OgUE4FkHoSDShslGDAADHvqNgtNDJGVk7hN1EYTcEoeORhcpDCgIA7I8sdCGkIJwHQQgAAKD8T5kZLXT+FGRgEA5BEAIAACgKWeicSEE4J4IQAABAuANSGDB0kg6UcbAJHIggBAAAUCay0LFIQbgEghAAAED06esYMLRzBzIqCOdBEAIAACifibOaU4a27kBSEM6GIAQAABCF6YtdUYZW70BSEM6JIAQAABBLftdAJg4tiUAZ08bAaRGEAAAAgspvGYoch2ZEIB0Il0AQAgAACM2MLBShD80rQD2GBOEqCEIAAABYWoYK6EMLC1BGB8LlEIQAAACwchk6eSVapf0M0YFwXQQhAAAA7FGG9sxFqydfjuhAKABBCAAAAKeIQ5dABEJhCEIAAADkj2hxSARCwQhCAAAAmE+pcUgEQhAEIQAAAERPRPIPwiIIAQAAIFYikn+AHkEIAAAApeUiyQeYiCAEAAAAAEG5OfoGAAAAAAAcgyAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAAiKIAQAAAAAQRGEAAAAACAoghAAAAAABEUQAgAAAICgCEIAAAAAEBRBCAAAAACCIggBAAAAQFAEIQAAAAAIiiAEAAAAAEERhAAAAAAgKIIQAAAAAARFEAIAAACAoAhCAAAAABAUQQgAAAAAgiIIAQAAAEBQBCEAAAAACIogBAAAAABBEYQAAAAAICiCEAAAAAAERRACAAAAgKAIQgAAAAAQFEEIAAAAAIIiCAEAAABAUAQhAAAAAEhi+j8FUqG3IKYgvgAAAABJRU5ErkJggg==&quot; alt=&quot;초대 관계를 이분 그래프로 보기&quot; /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 접근 : 문제를 단순화 하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제에서는 &lt;code&gt;m x n&lt;/code&gt; 크기의 &lt;code&gt;grid&lt;/code&gt;가 주어진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;grid[i][j]&lt;/code&gt;가 &lt;code&gt;1&lt;/code&gt;이면 &lt;code&gt;i&lt;/code&gt;번 boy가 &lt;code&gt;j&lt;/code&gt;번 girl을 초대할 수 있고, &lt;code&gt;0&lt;/code&gt;이면 초대할 수 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 제한 조건이 하나씩 붙는다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;한 boy는 최대 한 명의 girl만 초대할 수 있다.&lt;/li&gt;
&lt;li&gt;한 girl은 최대 한 명의 boy의 초대만 받을 수 있다.&lt;/li&gt;
&lt;li&gt;최대로 성사될 수 있는 초대 수를 구해야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 어떤 boy가 어떤 girl을 선택하면 그 boy와 girl은 더 이상 다른 매칭에 사용할 수 없다. 이것은 그래프 관점에서 보면 정확히 &lt;b&gt;matching&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 단순하게 greedy로 풀 수 있을 것처럼 보인다. 예를 들어 각 boy마다 가능한 첫 girl을 바로 선택하면 될 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 greedy는 쉽게 깨진다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;grid = [
  [1, 1],
  [1, 0]
]
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 0번 boy가 0번 girl을 먼저 선택하면 1번 boy는 더 이상 선택할 girl이 없다. 결과는 1개다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 0번 boy가 1번 girl을 선택하고, 1번 boy가 0번 girl을 선택하면 결과는 2개가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 포인트는 &quot;이미 매칭된 girl을 포기해야 하나?&quot;가 아니라, &quot;그 girl과 매칭되어 있던 boy를 다른 곳으로 옮길 수 있나?&quot;를 봐야 한다는 점이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 과정을 DFS로 수행하는 방식이 Kuhn Algorithm이다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Kuhn Algorithm이란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kuhn Algorithm은 이분 그래프의 maximum matching을 구하는 대표적인 augmenting path 기반 알고리즘이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 matching은 서로 겹치지 않는 간선들의 집합이다. 이 문제에서는 &quot;성사된 초대 쌍&quot;이라고 보면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;augmenting path는 현재 매칭 상태에서 매칭 수를 1개 늘릴 수 있는 경로를 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조금 더 쉽게 말하면 다음과 같다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;아직 매칭을 시도하지 않은 boy에서 시작한다.&lt;/li&gt;
&lt;li&gt;이 boy가 초대할 수 있는 girl을 하나씩 본다.&lt;/li&gt;
&lt;li&gt;girl이 비어 있으면 바로 매칭한다.&lt;/li&gt;
&lt;li&gt;girl이 이미 다른 boy와 매칭되어 있다면, 그 기존 boy가 다른 girl로 이동할 수 있는지 DFS로 확인한다.&lt;/li&gt;
&lt;li&gt;이동할 수 있다면 기존 boy를 옮기고, 현재 boy를 이 girl과 매칭한다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 단순히 빈 자리만 찾는 것이 아니라, 기존 배치를 재조정하면서 전체 매칭 수를 늘릴 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width: 100%; height: auto;&quot; src=&quot;data:image/png;base64,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+4sxY8a2a9umcDe0XL58xY1t2iUnz4iNje326INXtrw8Z1WdOrXGvjXirrs7TZk6ffacedsLwoyMzBq1GuZziK6P9MznmsP2d9za/vZbo53Tof1t2Wee5z3PzMz8aMLkXr2fnT1nXrmyZV4dNrB06aQoinp273z44eWffqb/rW07HFG5Ups2113598t26Ii1a9WsXatmwbevUuXIP50lO/L10SNGjs6z8Ilez+R+ecH558XFCUKA/Y0gBNg3ZGZmZk9NvL3dLavXrP102mfJyTPq1Km1a49y2KFFExNLbf7rYav5qDl++umXESNHlyxR/Pzzzx0ydETffgPv6tCuEMcqVapk+XJl16xZ2/3Rhxo0yHs3mnJly7wydOC06Z83bLDdxx7GxETXXtMyKqw6x+/idy+329vfO278u1EUnXN2kx7dH879NI52bduc3fTMx594euKkf1fcwfmr2xsRLYh8RkQvv+zi+vVOzHk59JWRyckzOtzZtkKuax1jY9UgwH5IEALsG/oPGDTz2+8aNaxfu1bN+zre2bzFNe3adxz/9mt75iEKuT3Vp+/GjRuvubrltde2HPPmuBcGDr7owmbVqv7xKIWC6/1kt9jYmCJFimxvg0YN6+fz7bGxsV0evi/aK915x63r169vfeM127zGr/rRVV8a+OyKFSt36Anyfzoimr98RkTrnlin7ol1cl5OnPRJcvKMpk1OP/bY6oU+HAD7BEEIsA/46j9f936qb3xcXOeH742i6IQTal9/XauXBg1td0fH/s8/tTOPIN9Rg4cMHzVmbLWqVW5uc/1BBx34TJ+erdu0a9mq9bDBA4455ugd3duBBx6QZ0laWtpHEybPmDlr2bKUZctS0tLSk5JKJSUlVq5U8dxzzrrgb+ecWKd26dKJ29thZmbm11/P/HHR4hUrVq5YuTItLb1kieIlS5ZITCzVoH7dQw8tGu0pVaocOejF5/IsnDd/wZw585alLF+2bHlmRkZiYqnExFJHHlG5du2aZ55xSrmyZfK/70tMTPT3KzZPCd6m99+fsGJl6jlnNylRotg2NziuZo3C/jQA7LcEIcDebvLkqW1vv2tTRka3Rx/MuaXnffd2mDNn3qTJUy69/Oqtw2Ob5s2b3/OJp3Nerlq1ekfP5K233+nctcfBBx/U97knsyv0jNNP6fzQfQ917nbFlTf06d39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QA41CATLlFFgP+ffeYBPCYDtMUIIhMJQIZCHXxgBCEIAAIBAmTIKAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQKEEIAAAQhen/AR1uMHFV9wQGAAAAAElFTkSuQmCC&quot; alt=&quot;Kuhn Algorithm에서 매칭을 재배치하는 과정&quot; /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kuhn Algorithm은 종종 Hungarian Algorithm이라는 이름으로도 설명된다. 다만 알고리즘 문맥에 따라 &quot;Hungarian Algorithm&quot;은 비용이 있는 assignment problem을 푸는 알고리즘을 가리키기도 한다. 이 문제에서 쓰는 방식은 DFS로 augmenting path를 찾는 &lt;b&gt;Kuhn Algorithm&lt;/b&gt;이라고 부르는 편이 더 정확하다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 핵심 아이디어&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 girl 기준으로 현재 매칭 상태를 관리한다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const matchGirl = Array(n).fill(-1);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;matchGirl[j]&lt;/code&gt;는 &lt;code&gt;j&lt;/code&gt;번 girl이 현재 어떤 boy와 매칭되어 있는지를 의미한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;matchGirl[j] === -1&lt;/code&gt;: 아직 아무 boy와도 매칭되지 않음&lt;/li&gt;
&lt;li&gt;&lt;code&gt;matchGirl[j] === i&lt;/code&gt;: &lt;code&gt;j&lt;/code&gt;번 girl은 현재 &lt;code&gt;i&lt;/code&gt;번 boy와 매칭됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 각 boy에 대해 DFS를 한 번씩 시도한다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for (let boy = 0; boy &amp;lt; m; boy++) {
  const seen = Array(n).fill(false);
  if (canInvite(boy, seen)) answer++;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &lt;code&gt;seen&lt;/code&gt;은 DFS 한 번 동안 이미 확인한 girl을 표시한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜 매번 새로 만들까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 boy가 매칭을 시도할 때는 새로운 augmenting path를 찾는 것이다. 이전 boy의 DFS에서 어떤 girl을 봤는지는 현재 boy의 탐색과 직접적인 관련이 없다. 그래서 outer loop에서 boy가 바뀔 때마다 &lt;code&gt;seen&lt;/code&gt;도 새로 만든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 &lt;code&gt;matchGirl&lt;/code&gt;은 전체 매칭 상태이므로 끝까지 유지한다.&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;max-width: 100%; height: auto;&quot; src=&quot;data:image/png;base64,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FAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAAUBQCIQAAAAAAAEUhEAIAAAAAAFAUAiEAAAAAAABFIRACAAAAAABQFAIhAAAAAAAARSEQAgAAAAAA0Kjpf4naN2pVgIXeAAAAAElFTkSuQmCC&quot; alt=&quot;DFS에서 관리하는 matchGirl과 seen&quot; /&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 단계별로 구현하기&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-1. 현재 매칭 상태 만들기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 boy 수와 girl 수를 구하고, girl 기준 매칭 배열을 만든다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const m = grid.length;
const n = grid[0].length;
const matchGirl = Array(n).fill(-1);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제의 제약은 &lt;code&gt;m, n &amp;lt; 200&lt;/code&gt;이기 때문에 DFS 기반 Kuhn Algorithm으로 충분하다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-2. canInvite 함수 정의하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;canInvite(boy, seen)&lt;/code&gt;은 현재 &lt;code&gt;boy&lt;/code&gt;가 새로운 매칭을 만들 수 있는지 확인한다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const canInvite = (boy, seen) =&amp;gt; {
  for (let girl = 0; girl &amp;lt; n; girl++) {
    if (grid[boy][girl] === 0 || seen[girl]) continue;

    seen[girl] = true;

    if (matchGirl[girl] === -1 || canInvite(matchGirl[girl], seen)) {
      matchGirl[girl] = boy;
      return true;
    }
  }

  return false;
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 가장 중요한 부분은 이 조건이다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if (matchGirl[girl] === -1 || canInvite(matchGirl[girl], seen)) {
  matchGirl[girl] = boy;
  return true;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 가지 경우에 현재 boy를 이 girl과 매칭할 수 있다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;code&gt;matchGirl[girl] === -1&lt;/code&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;girl이 비어 있으므로 바로 매칭할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;canInvite(matchGirl[girl], seen)&lt;/code&gt;이 true
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 girl과 이미 매칭된 기존 boy가 다른 girl로 이동할 수 있다.&lt;/li&gt;
&lt;li&gt;그러면 이 girl을 현재 boy에게 넘겨도 전체 매칭이 유지된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 두 번째 경우가 Kuhn Algorithm의 핵심이다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-3. 모든 boy에 대해 매칭 시도하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 모든 boy를 시작점으로 삼아 DFS를 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let answer = 0;

for (let boy = 0; boy &amp;lt; m; boy++) {
  const seen = Array(n).fill(false);
  if (canInvite(boy, seen)) {
    answer++;
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;canInvite&lt;/code&gt;가 true를 반환했다는 것은 현재 boy를 포함해서 매칭 수를 1개 늘릴 수 있었다는 뜻이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 &lt;code&gt;answer&lt;/code&gt;를 1 증가시킨다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 예제로 따라가기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 다음과 같은 입력이 있다고 하자.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;grid = [
  [1, 1, 1],
  [1, 0, 1],
  [0, 0, 1]
]
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가능한 한 가지 최적 매칭은 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Boy 0 -&amp;gt; Girl 1&lt;/li&gt;
&lt;li&gt;Boy 1 -&amp;gt; Girl 0&lt;/li&gt;
&lt;li&gt;Boy 2 -&amp;gt; Girl 2&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;총 3개의 초대가 성사된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 Boy 2는 Girl 2만 가능하다. 만약 앞에서 Girl 2를 다른 boy가 가져갔다면, DFS는 그 boy를 다른 girl로 옮길 수 있는지 확인한다. 옮길 수 있다면 Girl 2를 Boy 2에게 주고, 기존 boy는 다른 girl과 매칭한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 매칭을 &quot;다시 배치&quot;할 수 있기 때문에 greedy보다 강하다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. 엣지 케이스&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 케이스들을 생각해볼 수 있다.&lt;/p&gt;
&lt;pre class=&quot;lua&quot;&gt;&lt;code&gt;grid = [[0, 0, 0]]
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초대할 수 있는 관계가 하나도 없으므로 답은 0이다.&lt;/p&gt;
&lt;pre class=&quot;lua&quot;&gt;&lt;code&gt;grid = [[1], [1], [1]]
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 boy가 같은 girl만 초대할 수 있다. girl은 한 명의 초대만 받을 수 있으므로 답은 1이다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;grid = [
  [1, 0],
  [1, 1]
]
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 둘 다 Girl 0을 바라볼 수 있지만, Boy 1은 Girl 1로도 갈 수 있다. 따라서 최종적으로 2개 매칭이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 케이스에서 Kuhn Algorithm의 재배치 로직이 제대로 동작하는지 확인할 수 있다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. 최종 구현&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과적으로 최종 구현은 다음과 같다.&lt;/p&gt;
&lt;pre id=&quot;code&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/**
 * @param {number[][]} grid
 * @return {number}
 */
var maximumInvitations = function(grid) {
  const m = grid.length;
  const n = grid[0].length;
  const matchGirl = Array(n).fill(-1);

  const canInvite = (boy, seen) =&amp;gt; {
    for (let girl = 0; girl &amp;lt; n; girl++) {
      if (grid[boy][girl] === 0 || seen[girl]) continue;

      seen[girl] = true;

      if (matchGirl[girl] === -1 || canInvite(matchGirl[girl], seen)) {
        matchGirl[girl] = boy;
        return true;
      }
    }

    return false;
  };

  let answer = 0;

  for (let boy = 0; boy &amp;lt; m; boy++) {
    const seen = Array(n).fill(false);
    if (canInvite(boy, seen)) {
      answer++;
    }
  }

  return answer;
};
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. 시간복잡도&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;boy의 수를 &lt;code&gt;B&lt;/code&gt;, girl의 수를 &lt;code&gt;G&lt;/code&gt;, 가능한 초대 관계의 수를 &lt;code&gt;E&lt;/code&gt;라고 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kuhn Algorithm은 각 boy에서 augmenting path를 찾기 위해 DFS를 수행한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시간복잡도: &lt;code&gt;O(B * E)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;이 문제의 matrix 기준 최악의 경우: &lt;code&gt;E = B * G&lt;/code&gt;이므로 &lt;code&gt;O(B^2 * G)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;공간복잡도: &lt;code&gt;O(G + B)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;matchGirl&lt;/code&gt;과 &lt;code&gt;seen&lt;/code&gt;은 girl 수만큼 필요하고, 재귀 DFS 깊이는 최대 boy 수 정도로 보면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제는 &lt;code&gt;B, G &amp;lt; 200&lt;/code&gt;이기 때문에 이 방식으로 충분히 통과 가능하다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고자료&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;LeetCode: &lt;a href=&quot;https://leetcode.com/problems/maximum-number-of-accepted-invitations/&quot;&gt;https://leetcode.com/problems/maximum-number-of-accepted-invitations/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;doocs/leetcode 1820 README: &lt;a href=&quot;https://github.com/doocs/leetcode/tree/main/solution/1800-1899/1820.Maximum%20Number%20of%20Accepted%20Invitations&quot;&gt;https://github.com/doocs/leetcode/tree/main/solution/1800-1899/1820.Maximum%20Number%20of%20Accepted%20Invitations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kuhn Algorithm: &lt;a href=&quot;https://cp-algorithms.com/graph/kuhn_maximum_bipartite_matching.html&quot;&gt;https://cp-algorithms.com/graph/kuhn_maximum_bipartite_matching.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Step by step goes a long way.&lt;/p&gt;</description>
      <category>Computer Sci./Algorithms</category>
      <category>Algorithms</category>
      <category>bipartite matching</category>
      <category>DFS</category>
      <category>graph</category>
      <category>javascript</category>
      <category>Kuhn Algorithm</category>
      <category>LeetCode</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/538</guid>
      <comments>https://yolo2429.tistory.com/538#entry538comment</comments>
      <pubDate>Wed, 8 Jul 2026 02:02:04 +0900</pubDate>
    </item>
    <item>
      <title>위클리 인사이트 By 오웬 (Y26W27)</title>
      <link>https://yolo2429.tistory.com/536</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image_1783060371360677.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5yvON/dJMcadbr5Rp/tc8IRrEM7E2zneUmXksfY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5yvON/dJMcadbr5Rp/tc8IRrEM7E2zneUmXksfY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5yvON/dJMcadbr5Rp/tc8IRrEM7E2zneUmXksfY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5yvON%2FdJMcadbr5Rp%2Ftc8IRrEM7E2zneUmXksfY0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;400&quot; data-filename=&quot;image_1783060371360677.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;26.06.29 ~ 26.07.03&lt;/i&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;너무 열심히 살게 만드는 나라&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 한 주 몸이 안 좋다 보니 부정적인 생각들이 많이 생겼다. 열심히 사는 삶이 가지는 부작용에 대해 한 주간 생각해 보게 되었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어렸을 때부터 나는 뭐든지 열심히 하라는 말을 참 많이 들으며 자라 왔다. 그러다 보니 그게 맞다고 믿었고, 실제로 그런 나를 좋게 인정해 주는 사람도 주변에 많았던 것 같다. 하지만 요즘 나는 내가 열심히 살아온 삶이 너무 후회스럽다. 특히 나는 무언가에 몰두하면 시야가 좁아지기 쉬운 사람인데, 열심으로 인해 주변의 상황을 보지 못한 경우가 너무나도 많았기 때문이다. 가족이 무슨 생각을 하는지, 친구가 뭐에 관심이 있는지, 연인이 어떤 힘듦이 있는지 이러한 것들을 그동안 너무 보지 못하고 살아왔던 것 같다. 그리고 내가 항상 무언가에 분주한 모습이다 보니 주변 사람들도 눈치를 보게 만들고 마음이 어렵게 만들었던 건 아닐까 하는 생각도 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;열심히 살지 않으면 무가치하거나 게으르다고 생각하는 사회적인 시선도 이러한 삶을 자의적, 타의적으로 살게 만드는 원인 중 하나가 아닐까 하는 생각이 든다. 누군가는 열심히 살고 싶다면 그렇게 살고, 그렇지 않게 살고 싶다면 그렇게 살 수 있는 사회가 되면 좋을 것 같다. 사회가 빠르게 발전하다 보니 조금만 멈추고 쉬어도 주변에서 그 사람을 낙오자로 만드는 시선이 사라졌으면 좋겠다. 요즘은 쉬는 청년들을 &quot;쉬었음 청년&quot;이라고 용어를 붙여서 표현하기도 하는데 그것 자체만으로도 나는 구분 짓고 평가하는 기준이 들어간다고 생각한다. 일을 하는 청년들은 옳고, 쉬는 청년들은 틀렸다는 기성 세대들의 인식이 반영된 단어라고 나는 생각한다. 그들이 왜 쉬고 있고, 왜 쉬어야 할 수밖에 없는지를 유심히 관찰하면 좋겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부상투혼이라는 말도 참 폭력적이라고 느껴진다. 아프면 멈추고 쉬는 게 정상이고 당연한 건데, 아픈 걸 참고 열심히 하는 사람들을 우리는 대단하다고 치켜세운다. 나는 이러한 말들을 보면서 우리가 아픈 걸 참고 일하는 걸 당연하게 여기고 푸시하는 문화를 만드는 건 아닌가 하는 생각도 든다. 이러한 문화 속에서 살다 보면 아픈 게 마치 죄처럼 여겨지고, 본인의 책임을 다하지 않는 사람으로 비춰지기도 하는 것 같다. 그 아픈 사람이 아프고 싶어서 아픈 것도 아닌데, 안그래도 힘든 상황 속에서 사회적인 시선마저 그 사람을 비난한다면 그러한 사람들은 2배 3배 더 큰 고통을 받게 될 것이라는 생각도 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나의 모습을 세상의 기준이 아닌 나의 존재 그 자체로 사랑할 수 있는 사람이 되고 싶다. 내가 무엇을 잘 해서 인정받고, 성취해야 내가 잘 살고 있고 좋은 사람인 것이 아니라 그냥 나라는 사람 자체로서도 충분히 잘 하고 있고, 충분히 소중하며, 가치 있는 사람이라는 것을 이 사회가 계속해서 점점 더 알려주었으면 좋겠다. 그러한 개인의 개성과 색깔이 더 많이 드러나는 사회가 되었으면 좋겠다. 타인을 비난하고, 평가하고, 욕하는 그러한 모습들이 너무나도 팽배해 있는 시대가 안타까울 뿐이다.&lt;/p&gt;</description>
      <category>Weekly Insight</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/536</guid>
      <comments>https://yolo2429.tistory.com/536#entry536comment</comments>
      <pubDate>Fri, 3 Jul 2026 18:00:43 +0900</pubDate>
    </item>
    <item>
      <title>위클리 인사이트 By 오웬 (Y26W26)</title>
      <link>https://yolo2429.tistory.com/535</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image_1782453662296189.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YVaij/dJMcadbmUwz/ueXE145NU9VdFxsDe5zKO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YVaij/dJMcadbmUwz/ueXE145NU9VdFxsDe5zKO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YVaij/dJMcadbmUwz/ueXE145NU9VdFxsDe5zKO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYVaij%2FdJMcadbmUwz%2FueXE145NU9VdFxsDe5zKO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;400&quot; data-filename=&quot;image_1782453662296189.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;26.06.22 ~ 26.06.26&lt;/i&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;대한민국 월드컵 경기를 보며&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 주 목요일에는 남아공과의 대한민국 월드컵 축구 경기가 있었다. 회사에서 업무 시간이어서 다 챙겨 보지는 못했지만, 중간중간 소식을 들을 때마다 아쉬움이 많이 느껴졌다. 가장 아쉬웠던 부분은, 0대 1로 지고 있는데 최소 비기기는 해야 하는 경기에서 우리나라 선수들이 적극적으로 공을 앞으로 가져가지 못하는 상황을 보았을 때였다. 아마 해설을 하던 위원들도 답답해하는 것 같았다. 결과는 이미 나왔고 사람들은 32강에 가기 위한 경우의 수를 계산하고 있는데, 나는 개인적으로 32강에 가지 않고 귀국해서 다시 팀을 꾸리는 게 어떨까 하는 생각이 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 문제점들이 많이 나왔지만, 선수들의 역량 부족과 자신감 부족이라는 측면이 가장 아쉬웠다. 공격을 전개해 나가는 흐름을 계속 만들어야 하는데 지는 상황에서도 백패스를 하고 안전한 공간으로만 패스를 하는 모습이 이기기 위한 축구를 하는 것이 아니라, 실수하지 않는 축구를 하는 모습을 봤던 것 같다. 혹시나 돌파를 하다가 공을 빼앗기면, 역습을 허용하고 그러한 두려움이 선수들을 앞으로 나가게 하지 못하는 것은 아니었을까 하는 생각이 든다. 그런데 비단 이 모습이 과연 축구장에서만 일어나는 것일까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실수를 하는 건 누구나 두려워하고, 실패를 좋아하는 사람은 아무도 없다. 하지만 우리의 삶에서 100% 안전하기만 한 선택이 과연 있는가 생각해 보면 그렇지는 않다. 내가 진학할 학교를 결정하고, 내가 앞으로 해야 할 일을 결정하는 큰 문제부터 오늘 저녁에 이 모임을 갈 것인지 말 것인지 하는 사소한 선택까지 하루에도 여러 가지의 선택을 하면서 우리는 무엇이 옳은 선택인지 자연스럽게 훈련을 하게 된다. 때로는 그 과정에서 선택이 잘못되는 경우도 발생한다. 그리고 우리는 그 잘못된 선택에 대한 책임을 스스로 진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어린 선수들이 이번 경험을 통해 부정적이고 안 좋은 기억들만 가져가기보다는 본인들이 한 선택에 대한 책임을 지는 시간으로 잘 사용하면서 성장했으면 좋겠다. 찾아보면 남탓을 할 부분들이 참 많이 보이겠지만, 그런 상황 가운데에서도 본인이 했던 선택들을 돌아보고 앞으로 어떻게 하면 더 좋은 결과를 얻을 수 있을지 생각해 보는 시간을 가지길 소망한다. 이 세상에 좋은 점만 있는 선택은 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 사람들의 눈치를 보면서 이 일을 내가 해도 되는지, 할 수 있는지를 스스로 의심하는 방어기제가 유독 한국 사람들 사이에서는 많은 것 같아서 그 점은 너무 안타깝다. 누군가의 지시를 받아 일을 하고, 누군가가 칭찬해 주는 상황에서 열심히 하는 건 한국 사람들이 유독 잘하는 것 같다. 하지만, 남들이 다 안 하려고 하는 길을 걸어가거나 그러한 선택을 하는 부분에 대해서는 눈치도 많이 보고 필요 이상으로 다들 생각이 많은 듯하다. 다들 안전하고 검증된 길을 걸어 가려고 하는데, 과연 그러한 문화는 어떻게 하면 바뀔 수가 있을까?&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;바쁘다는 말을 하는 것에 대하여&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 개인적으로 바쁘다는 말을 하는 것을 좋아하지 않는다. 그 이유는 바쁘다고 말하는 대상에게 내가 그 상대방을, 혹은 어떤 일의 우선순위를 낮게 생각한다는 인식을 줄 수 있다고 생각하기 때문이다. 나도 누군가에게 내가 소중한 대상이라는 인식을 받지 못하고 나의 일이 우선순위에서 밀린다는 것을 알게 되면 서운하고 부정적인 감정이 올라오기 때문에 이러한 말을 최대한 안 하려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 일을 최대한 똑똑하게, 그리고 빠르게 하려고 노력한다. 이런저런 소통을 많이 해야 할 때가 있는데, 그럴 때 일찍 줄 수 있는 문서는 최대한 일찍 주려고 하고, 답변도 빨리 하려고 한다. 이러한 방식이 나는 지금까지 옳다고 생각하면서 살아왔다. 그런데 요즘 드는 생각은, 내가 이렇게 살아가는 것에 익숙해질 수록, 남들이 이렇게 하기를 바라는 마음이 들면서 동시에 남들이 이러지 않으면 그들을 정죄하는 마음을 가지게 된다는 사실을 알게 되었다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;왜 저 사람은 답변을 빠르게 안 주지? 나를 우습게 여기나?&quot;&lt;/li&gt;
&lt;li&gt;&quot;왜 저 사람은 내 카톡을 안 보지? 나도 지금 바쁜데도 이렇게 빨리 하고 있는데&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같은 내 안에서 부정적인 감정들이 생겨날 때가 많다. 내가 여유가 있고, 마음이 평온하면 그냥 아무렇지도 않게 여길 일들인데, 내가 예민하고 조급하니까 사람이 감정적으로 변하기가 쉽다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나를 지키기 위해서, 나와 가까운 사람들을 지키기 위해서라도 내가 바쁜 상황에 놓여 있다면 그것들을 조금씩 벗어나는 것이 중요함을 느낀다. 성격상 답답하면 그냥 내가 다 해버리고 끝내는 편인데, 그러한 성격이 도움이 될 때도 있지만 요즈음에는 오히려 나를, 그리고 나의 가까운 사람들을 지키지 못한다는 생각에 단점이 더 크게 보이는 생각도 든다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;AI 시대의 전문성 - 하용호&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전부터 발표 자료를 잘 만드신다고 생각했던 하용호님의 &amp;lt;AI 시대의 전문성&amp;gt; 이라는 슬라이드를 보게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://drive.google.com/file/d/19rY4idXdBoFyqqzu0ImZe45C31ETb7rC/view&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://drive.google.com/file/d/19rY4idXdBoFyqqzu0ImZe45C31ETb7rC/view&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1782465489109&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;20260611_하용호_AI시대의전문성_인프런.pdf&quot; data-og-description=&quot;&quot; data-og-host=&quot;drive.google.com&quot; data-og-source-url=&quot;https://drive.google.com/file/d/19rY4idXdBoFyqqzu0ImZe45C31ETb7rC/view&quot; data-og-url=&quot;https://drive.google.com/file/d/19rY4idXdBoFyqqzu0ImZe45C31ETb7rC/view?usp=embed_facebook&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://drive.google.com/file/d/19rY4idXdBoFyqqzu0ImZe45C31ETb7rC/view&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://drive.google.com/file/d/19rY4idXdBoFyqqzu0ImZe45C31ETb7rC/view&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;20260611_하용호_AI시대의전문성_인프런.pdf&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;drive.google.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 말하는 회사가 AX를 적용하는 과정이 우리 회사와도 너무 비슷해서 약간 소름이 돋았다. 결국 많이는 만드는데 쓰는 사람이 없는 그러한 대혼돈의 상태가 지금 우리 회사를 포함한 여러 많은 회사에서 나타나는 현상인 것으로 보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 발표 자료 마지막에서 말하긴 하지만, 나도 AI 시대에는 검증과 취향 두 가지 영역을 잘하는 사람이 실력을 인정받을 수 있다고 생각한다. 둘 다 AI가 완벽하게는 하지 못하는 분야이다. 결국 어려운 선택과 결정을 잘하는 쪽으로 나도 앞으로 나아가야겠다는 생각이 든다.&lt;/p&gt;</description>
      <category>Weekly Insight</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/535</guid>
      <comments>https://yolo2429.tistory.com/535#entry535comment</comments>
      <pubDate>Fri, 26 Jun 2026 18:00:47 +0900</pubDate>
    </item>
    <item>
      <title>위클리 인사이트 By 오웬 (Y26W25)</title>
      <link>https://yolo2429.tistory.com/534</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image_1781502649976213.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwfWUa/dJMcahrhSds/rTzRS0rKDOtmzKWjzkGtak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwfWUa/dJMcahrhSds/rTzRS0rKDOtmzKWjzkGtak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwfWUa/dJMcahrhSds/rTzRS0rKDOtmzKWjzkGtak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwfWUa%2FdJMcahrhSds%2FrTzRS0rKDOtmzKWjzkGtak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;400&quot; data-filename=&quot;image_1781502649976213.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;26.06.15 ~ 26.06.19&lt;/i&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;허리 통증과 근육 뭉침, 꾸준한 스트레칭의 중요성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 개발자로 일을 시작한 뒤로 꾸준하게 허리 통증과 근육 뭉침 증상으로 힘들었다. 내가 찾아보니 지금 내 증상이 퇴행성 디스크의 증상과 유사한 점이 많다는 것을 알게 되었다. 그래서 21년부터 거의 매년 빠지지 않고 도수 치료를 받았었다. 회당 10만 원~20만 원 정도 수십 회를 받으면 비용이 상당히 많이 든다. 하지만 그때뿐, 치료가 끝나면 다시 통증이 찾아왔다. 그리고 작년에는 트래일러닝을 하면서 허벅지에 쥐도 몇 번 나고, 근육이 뭉쳐 있는 증상이 운동을 하고 나서 풀어주지 않으면 위험해질 수 있다는 것도 알게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 나는 폼롤러를 구입해서 폼롤러 스트레칭과 허리, 어깨, 목 부분을 중심으로 스트레칭을 시작했다. 처음에 하루 이틀 사흘&amp;hellip; 매일 10분씩 하는 것조차 나에게는 너무 귀찮은 일이었다. 그리고 그렇게 하더라도 증상이 크게 나아지지 않았던 것 같다. 하지만 일주일, 이주일 꾸준하게 하다 보니 그 뒤로는 허리, 어깨 등에 통증이 사라지고 근육도 뭉침이 덜하게 되었다. 너무 신기하고 감사했다. 몸이 안 아파지니까 스트레스도 줄어들고 하루하루가 기분 좋은 날이 많아진 것이 참 다행이었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러다가 또 귀찮음이 많은 성격 탓에 안 아파서 스트레칭과 마사지를 안 해 주었더니, 다시 또 통증이 올라온다. 참 신기하다. 내 몸은 절대 거짓말을 하지 않는다는 걸 알게 된다. 누군가의 본 모습을 보고 싶을 때, 그 사람의 몸을 보는 것이 어느 정도 도움이 될 수 있겠다는 생각이 든다. 꾸준한 습관을 통해 나의 몸을 더 사랑하고 관리하는 것이 중요함을 몸으로 알게 된다. 이러한 행동 하나하나를 통해 들어가지 않아도 되는 시간과 돈을 벌 수 있다면, 이는 나에게 있어서 중요한 재테크라는 생각도 하게 된다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;원칙과 포용 사이&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 주는 교회에서 국내선교팀 사역을 하느라 한 주 동안 참 분주했다. 우리 교회의 여러 선교팀이 이번 여름 선교를 가는데, 이에 대한 팀을 배정하고 가이드를 정하는 일을 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이에 대한 일을 하면서 원칙을 어기는 케이스들이 계속해서 나옴을 알 수 있었다. 예를 들면 첫날 같이 출발하는게 원칙인데 부득이한 사정으로 늦게 출발한다고 하는 사람이 있는가 하면, 처음에 희망하는 선교지에서 나중에 다른 선교지로 바꾸고 싶다는 사람들도 있었다. 이와 같은 문의들이 개인적으로도 오고 팀으로도 와서 좀 피곤했는데, 원칙에 따라 결정하면 단순하지만 원칙대로 할 수 없는 케이스들이 존재했기 때문이다. 편의를 봐 준다면 어디까지 봐 주어야 하는 건지&amp;hellip; 이에 대해서도 팀 안에서도 구성원들마다 의견이 다르기도 해서 스트레스를 많이 받았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명확한 정답이 있는 문제는 아니다. 어떤 한 사람의 특정 사유 편의를 봐주면, 나중에 비슷한 사유의 또 다른 문의가 올 수도 있지만, 이로 인해 한 사람이 선교를 못 갈 뻔했는데 갈 수 있게 된다. 무엇이 더 옳고, 무엇이 더 그른지는 우리 팀이 가지고 있는 방향과 지향점에 따라 다른 것 같다. 앞으로도 이러한 원칙과 포용 사이에서 고민할 일들이 많이 생기겠지만, 나름대로 그 과정을 세우는 순간순간이 팀이 더 방향을 정교하게 다듬는다는 측면에서 의미가 있다고 생각하고 즐겁게 해보려고 한다.&lt;/p&gt;</description>
      <category>Weekly Insight</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/534</guid>
      <comments>https://yolo2429.tistory.com/534#entry534comment</comments>
      <pubDate>Fri, 19 Jun 2026 18:00:44 +0900</pubDate>
    </item>
    <item>
      <title>위클리 인사이트 By 오웬 (Y26W24)</title>
      <link>https://yolo2429.tistory.com/533</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image_1780980179646847.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAw7md/dJMcaf09SJY/UrWBDK49o2hOOJ0GVkf0tk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAw7md/dJMcaf09SJY/UrWBDK49o2hOOJ0GVkf0tk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAw7md/dJMcaf09SJY/UrWBDK49o2hOOJ0GVkf0tk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAw7md%2FdJMcaf09SJY%2FUrWBDK49o2hOOJ0GVkf0tk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;400&quot; data-filename=&quot;image_1780980179646847.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;26.06.08 ~ 26.06.12&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;AI 에이전트를 어떻게 평가할 수 있을까&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요즘 개인적으로도, 팀에서도 AI 에이전트를 만들면서 하는 가장 큰 고민 중 하나는 &quot;어떻게 평가할 수 있을지?&quot;이다. 이와 관련해서 이번 주에 엔트로픽의 블로그 글을 하나 읽게 되었다. 제목은 &lt;a href=&quot;https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;lt;Demystifying evals for AI agents&amp;gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1780980419635&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Demystifying evals for AI agents&quot; data-og-description=&quot;Demystifying evals for AI agents&quot; data-og-host=&quot;www.anthropic.com&quot; data-og-source-url=&quot;https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents&quot; data-og-url=&quot;https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jNgvo/dJMb9g5i0II/KGRJCii3xTVZaXVNepDDZk/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/CvDsT/dJMb9kmkAhF/LjpmsfT5xBM7BqGJ4slUj1/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/bzCLFi/dJMb8Rj95FJ/lVEsqYn9r78k68YASB2pr0/img.jpg?width=3840&amp;amp;height=2374&amp;amp;face=0_0_3840_2374&quot;&gt;&lt;a href=&quot;https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jNgvo/dJMb9g5i0II/KGRJCii3xTVZaXVNepDDZk/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/CvDsT/dJMb9kmkAhF/LjpmsfT5xBM7BqGJ4slUj1/img.png?width=2400&amp;amp;height=1260&amp;amp;face=0_0_2400_1260,https://scrap.kakaocdn.net/dn/bzCLFi/dJMb8Rj95FJ/lVEsqYn9r78k68YASB2pr0/img.jpg?width=3840&amp;amp;height=2374&amp;amp;face=0_0_3840_2374');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Demystifying evals for AI agents&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Demystifying evals for AI agents&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.anthropic.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서 말하는 핵심은 AI 에이전트 평가는 단순히 정답 채점이 아니라, &lt;u&gt;&lt;b&gt;에이전트가 실제 환경에서 여러 턴 동안 도구를 쓰고 상태를 바꾸며 목표를 달성하는지를 측정하는 체계&lt;/b&gt;&lt;/u&gt; 라는 점이다. 일반적인 LLM 평가와 다르게, 에이전트 평가는 여러 턴 동안 도구를 호출하고, 환경을 바꾸고, 중간 결과에 따라 행동을 바꾼다. 그렇기 때문에 마지막 답변만 보는 것은 부족하고 전체 실행 과정과 최종 환경 상태를 같이 보아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에이전트는 비결정적인 특성을 가지고 있기 때문에 통과하는 지표 측정도 pass@k, pass^k 나누어서 하는 점이 인상적이었다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;pass@k : k번 시도 중 한 번이라도 성공할 확률. 여러 시도 중 하나만 성공하면 되는 코딩 문제나 탐색형 문제에 유용.&lt;/li&gt;
&lt;li&gt;pass^k : k번 모두 성공할 확률. 고객을 마주하는 에이전트처럼 매번 안정적으로 성공해야 하는 제품에서 중요.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 Capacity eval과 Regression eval을 목적에 맞게 사용해야 한다는 점도 기억에 남는다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Capacity eval : &quot;이 에이전트가 무엇을 할 수 있는가?&quot;를 보는 평가. 처음에는 pass rate가 낮아야 좋다.&lt;/li&gt;
&lt;li&gt;Regression eval : &quot;예전에 잘하던 걸 여전히 잘하는가?&quot;를 보는 평가. 거의 100%에 가까운 pass rate를 기대한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 프롬프트를 잘 작성하는 관점에서만 나는 고민을 했는데, 평가도 하나의 시스템 요소로 넣고 고민을 해야겠다는 생각이 든다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Weekly Insight</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/533</guid>
      <comments>https://yolo2429.tistory.com/533#entry533comment</comments>
      <pubDate>Fri, 12 Jun 2026 18:00:04 +0900</pubDate>
    </item>
    <item>
      <title>[번역] 컴포넌트가 WCAG를 준수할 수 있을까요?</title>
      <link>https://yolo2429.tistory.com/532</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image_1780651688144868.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eRkNgP/dJMcah5MKgc/dvxLTkz7P086ZfD5IDXRtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eRkNgP/dJMcah5MKgc/dvxLTkz7P086ZfD5IDXRtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eRkNgP/dJMcah5MKgc/dvxLTkz7P086ZfD5IDXRtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeRkNgP%2FdJMcah5MKgc%2FdvxLTkz7P086ZfD5IDXRtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;400&quot; data-filename=&quot;image_1780651688144868.png&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;원문: &lt;a href=&quot;https://hidde.blog/component-conformance/&quot;&gt;https://hidde.blog/component-conformance/&lt;/a&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;접근성을 고려해 UI 컴포넌트를 만들 수 있습니다. 개발하면서 컴포넌트와 함께 접근성 관련 사항을 문서화하거나, 명백한 장애물이 없는지 검토해도 됩니다. 모두 도움이 되고 권장할 만한 일입니다. 그렇다면 적합성을 주장하는 건 어떨까요? 이 글에서는 WCAG가 기술적으로 &lt;i&gt;그것&lt;/i&gt;을 허용하지 않는 이유와, 그 판단이 옳다고 보는 이유를 이야기합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글의 일부는 제가 진행해 온 &quot;내장 접근성: 축복인가 저주인가?&quot;라는 발표 시리즈에서 비롯되었습니다. 이 발표에서는 &quot;접근 가능한 웹 플랫폼 기능&quot;과 저작 도구도 다룹니다. &lt;a href=&quot;https://www.youtube.com/watch?v=GvYz9Qfy8j4&quot;&gt;JS Heroes 2025 유튜브 영상&lt;/a&gt;을 확인하실 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;평소와 같이, 이 글의 의견은 제 개인적인 견해이며 고용주나 제가 속한 워킹 그룹의 입장을 대표하지 않습니다.&lt;/i&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;컴포넌트가 준수할 수 없는 이유&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.w3.org/TR/WCAG22&quot;&gt;WCAG 2&lt;/a&gt;에서 컴포넌트(디자인 시스템의 리액트/앵귤러/바닐라/HTML 컴포넌트 등)는 공식적으로 WCAG를 준수할 수 없습니다. &lt;a href=&quot;https://www.w3.org/TR/WCAG22/#cc2&quot;&gt;WCAG의 적합성 요건 중 하나&lt;/a&gt;가 이렇게 명시하고 있기 때문입니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;적합성은 완전한 웹 페이지에만 적용되며, 웹 페이지의 일부가 제외된 경우에는 달성할 수 없습니다.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;격리된 컴포넌트를 HTML 페이지에 올려두거나 Codepen이나 스토리북(Storybook) 환경에 두는 방식도 있지만, 그렇다고 달라진다고 보지 않습니다(기술적으로 '완전한 웹 페이지'를 만들었다 해도 마찬가지입니다). 우리가 알고 싶은 건 사용자가 무언가에 접근할 수 있는지 여부이고, 사용자(최종 사용자)는 최종 제품, 즉 완전한 페이지와 프로세스에 접근합니다(예를 들어 물건을 구매하거나 리뷰를 제출하고 싶어 합니다).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 요건은 WCAG 2.0이 발행된 2008년 이전에 작성되었습니다. 당시에는 프런트엔드 컴포넌트가 설치 가능한 패키지로도, 복사해서 붙여넣을 수 있는 코드 조각으로도 존재하지 않았습니다(&lt;a href=&quot;https://alistapart.com/blog/post/getting-started-with-pattern-libraries/&quot;&gt;나탈리 다우니(Natalie Downe)가 2009년 Clearleft에서 이 관행을 선구적으로 도입한 것으로 보입니다&lt;/a&gt;).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요건을 재검토할 여지가 있습니다. 지난 10년간 디자인 시스템은 많이 성숙했습니다. 멀티 브랜드, 멀티 프레임워크, 자동화 테스트 컴포넌트가 이제 표준이 되었습니다. 접근성 전문가로서 편향될 수 있지만, 저는 많은 팀이 접근성을 디자인 시스템 개발의 주요 동기 중 하나 혹은 &lt;i&gt;핵심&lt;/i&gt; 동기로 꼽는 모습을 봐왔습니다. 수많은 팀이 더 접근 가능한 최종 제품을 만드는 데 대단히 효과적인 것도 목격했습니다. 모범 사례를 많은 사람에게 전달하고, 유용한 문서를 한 곳에 모아두는 역할을 하기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트가 얼마나 접근 가능한지 테스트하고, 웹사이트의 접근성에 무엇을 기여할 수 있고 없는지 문서화하는 일은 반드시 해야 합니다. WCAG 요건도 이 작업에 도움이 됩니다. 그러나 오늘날 우리가 하는 것처럼 페이지 또는 페이지 집합에 대한 WCAG 적합성을 주장하는 방식이 올바른 접근이라고 봅니다. 컴포넌트 자체의 적합성을 주장하려 해서는 안 됩니다(컴포넌트를 검토하고, 최적화하고, 문서화하고, 접근성 전문가가 평가하는 일은 얼마든지 해도 됩니다). 적합성을 주장해서는 안 되는 이유는 두 가지 위험 때문입니다. 과잉 약속과 실제 접근성을 제대로 포착하지 못하는 문제입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;과잉 약속의 위험&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트에 대한 적합성 주장을 허용하면 &quot;컴포넌트 세일즈맨&quot;이 지킬 수 없는 약속을 너무 쉽게 하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;컴포넌트 세일즈맨&quot;이라는 표현을 비하적으로 쓴 건 아닙니다. 저도 한때 그런 사람이었으니까요. 이 표현으로 제가 가리키는 건 구체적으로 다음과 같은 역할을 맡은 사람들입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자신의 제품에 컴포넌트를 쓸 수 있는 사람들(또는 상업적으로 구매할 수 있는 사람들)에게 디자인 시스템을 홍보하는 역할&lt;/li&gt;
&lt;li&gt;의사 결정권자와 예산 담당자에게 디자인 시스템과 그 장점을 홍보하는 역할&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WCAG를 준수하는 컴포넌트라는 개념은 정말 매력적으로 들립니다. 개발자라면 당장 &lt;code&gt;npm install&lt;/code&gt; 하고 싶을 것이고, 예산 담당자라면 막대한 자금을 쏟아붓고 싶을 겁니다. 접근성 담당자로서도 그런 것이 존재하기를 바라겠지만, 저는 꽤 확신합니다&amp;hellip; &quot;그것&quot;은 없습니다. &lt;i&gt;그것&lt;/i&gt;은 실제로 실현 가능하거나 의미 있는 무언가가 아닙니다(아래 내용 참조).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트가 접근 가능하다거나 어떤 접근성 표준을 준수한다고 말할 때 그 가치를 과도하게 약속할 실질적인 위험이 있습니다. 사람들이 해당 컴포넌트를 쓰거나 구매하면 더 이상 접근성에 대해 걱정할 필요가 없다고 믿게 만들 수 있습니다. 잘못된 기대를 심어주는 거죠. 접근성은 지속적인 프로세스입니다. 사용자 경험을 항상 개선하고 싶듯이, 접근성도 항상 개선해야 합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;실제 접근성을 포착하지 못하는 위험&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트가 적합하다고 주장하는 것은 보이는 것만큼 의미 있지 않습니다. 여러 이유로 사용자의 실제 접근성을 제대로 포착하지 못할 가능성이 높습니다. 아래에서 세 가지를 살펴보겠습니다. 맞춤화 가능성, 조합 가능성, 그리고 맥락입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;맞춤화 가능성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 현대 컴포넌트에는 옵션이 있습니다. &lt;a href=&quot;https://storybook.js.org/&quot;&gt;스토리북&lt;/a&gt; 같은 도구를 쓰면 웹 개발자가 컴포넌트 옵션을 나열하고, 데모하고, 테스트할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 옵션 중 많은 것이 사용 시점에서 WCAG 적합성에 쉽게 영향을 미칩니다. 사용이 WCAG를 충족하는지는 최종 제품에서만 확인할 수 있다는 뜻이고, 적합성은 &quot;데모&quot; 컴포넌트 단계에서 결정할 수 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴포넌트에서 색상을 바꿀 수 있다면, 최종 제품이 WCAG를 충족하는지 판단하려면 어떤 색상인지 알아야 합니다(&lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#contrast-minimum&quot;&gt;1.4.3&lt;/a&gt;, &lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#non-text-contrast&quot;&gt;1.4.11&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;컴포넌트에서 버튼 텍스트를 바꿀 수 있다면, 최종 제품이 접근 가능한지(예: &quot;여기를 클릭하세요&quot;는 안 되고 설명적인 텍스트여야 함) 또는 WCAG를 충족하는지 판단하려면 최종 제품의 텍스트가 무엇인지 알아야 합니다(예: &lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#label-in-name&quot;&gt;2.5.3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;이미지 컴포넌트에 대체 텍스트를 전달할 수 있다면, 전달된 텍스트가 이미지를 제대로 설명하는지 알아야 합니다&amp;hellip; 최종 제품이 WCAG를 충족하는지 판단하려면 이미지와 텍스트 모두 확인해야 합니다(&lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#non-text-content&quot;&gt;1.1.1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;간격을 맞춤화할 수 있다면, 최종 제품이 WCAG를 충족하는지 판단하려면 최종 제품의 수치가 무엇인지 알아야 합니다(&lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#target-size-minimum&quot;&gt;2.5.8&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;조합 가능성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;접근 가능하거나 WCAG를 충족하는 무언가를 만들려고 컴포넌트를 올바른 방식으로 조합해야 할 때가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 많은 디자인 시스템에는 별도의 레이블 컴포넌트와 입력 컴포넌트가 있습니다. WCAG를 충족하는 입력 상황을 만들려면(&lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#info-and-relationships&quot;&gt;1.3.1&lt;/a&gt;, &lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#name-role-value&quot;&gt;4.1.2&lt;/a&gt;), 최종 제품을 만드는 사람이 두 컴포넌트를 조합해야 할 수 있습니다. 그 시점에서 &quot;적합성&quot;은 컴포넌트 하나에 있는 것이 아니라, 여러 컴포넌트의 효과적인 조합에 있게 됩니다(많은 시스템이 이를 쉽게 해주는 헬퍼나 단일 컴포넌트를 제공하지만, 그건 제 핵심 주장이 아닙니다).&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;맥락&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로, 맥락도 중요합니다. 테스트 스위트의 고립된 환경에서는 볼 수 있는 것이 제한적입니다. 실험실 조건에서 접근성을 살펴보는 것은 분명히 유용하지만, 실제 접근성에는 맥락이 필요합니다. 사람들이 실제로 쓸 환경 말이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;건너뛰도록 설정된 ID를 포함하지 않는 페이지에서 제 스킵 링크 컴포넌트를 쓰면, 의미 있는 접근성을 제공할 수 없습니다. 반복되는 콘텐츠 블록이 없는 경우도 마찬가지입니다. &lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#bypass-blocks&quot;&gt;2.4.1 반복 블록 건너뛰기&lt;/a&gt; 충족에 기여할 수는 있지만, 사용자가 실제 블록을 실제로 건너뛸 수 있게 해주는 페이지의 &lt;b&gt;맥락&lt;/b&gt; 안에서만 그렇습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;날짜 선택기(date picker)가 중간을 잘라버리는 요소 안에 있다면, 제 캘린더 컴포넌트의 포커스 표시기는 의미 있는 접근성을 제공할 수 없습니다. &lt;a href=&quot;https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2#focus-visible&quot;&gt;2.4.7 포커스 표시&lt;/a&gt; 충족에 기여할 수는 있지만, 그것을 깨뜨리지 않는 페이지의 &lt;b&gt;맥락&lt;/b&gt; 안에서만 그렇습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;내장할 수 있는 접근성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;접근성의 일부 측면은 맞춤화 가능성, 조합 가능성, 맥락에서 대체로 &quot;살아남는&quot; 것들이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가능하다면 다음 항목들은 컴포넌트에 반드시 내장하려고 노력해야 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;키보드 접근성. 예를 들어 날짜 선택기에서 날짜 간 이동 방법, 목록에서 옵션 선택 방법, 요소 순서 등입니다.&lt;br /&gt;&lt;i&gt;참고:&lt;/i&gt; 페이지 수준의 키보드 개입으로 여전히 깨질 수 있습니다(양수 &lt;code&gt;tabindex&lt;/code&gt; 사용이나 스크립트를 통한 개입 등).&lt;/li&gt;
&lt;li&gt;의존하지 않는 시맨틱(특히 역할(role)). 예를 들어 button 요소를 쓰는 버튼 컴포넌트입니다.&lt;br /&gt;&lt;i&gt;참고:&lt;/i&gt; 많은 시맨틱이 &lt;i&gt;실제로&lt;/i&gt; 의존합니다. 예를 들어 &lt;a href=&quot;https://hidde.blog/popover-semantics/&quot;&gt;팝오버(popover)에는 적합한 역할이 여러 가지&lt;/a&gt;입니다.&lt;/li&gt;
&lt;li&gt;상태와 관계. 예를 들어 확장 가능한 요소의 &lt;code&gt;aria-expanded&lt;/code&gt; 상태입니다.&lt;/li&gt;
&lt;li&gt;합리적인 읽기 순서.&lt;/li&gt;
&lt;li&gt;줌 및 리플로우(reflow) 지원.&lt;br /&gt;&lt;i&gt;참고:&lt;/i&gt; 콘텐츠와 맥락에 따라 여전히 깨질 수 있습니다.&lt;/li&gt;
&lt;li&gt;사용자 선호 지원. 예를 들어 다크 모드/강제 색상 모드, 텍스트 간격 등입니다.&lt;/li&gt;
&lt;li&gt;접근성 기능 지원. 예를 들어 비디오 플레이어 컴포넌트의 자막 및 화면 해설 지원입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트를 견고하게 만드는 방법은 이 외에도 많습니다. 그렇게 하는 데서 큰 가치를 느낍니다. 지난 몇 년간 디자인 시스템 수준에서 접근성에 진지하게 투자해 &lt;b&gt;최종 제품의 문제가 더 적고 덜 심각해지는&lt;/b&gt; 사례를 많이 봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디자인 시스템에서 컴포넌트를 다루는 또 다른 큰 이점은 &lt;b&gt;방향을 제시할 기회&lt;/b&gt;가 많다는 점입니다. 컴포넌트를 잘 쓰는 방법, 테스트한 내용, 최종 제품에서 테스트해야 할 내용 등을 문서화하세요. 선의를 가진 개발자들이 올바르게 쓸 수 있도록 도와주세요(악의적인 개발자를 어떻게 할지는 다른 글에서 다룰 수 있습니다).&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;컴포넌트가 &lt;i&gt;충족할 수 있는&lt;/i&gt; 스펙&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;a href=&quot;https://bsky.app/profile/petergoes.nl/post/3lwbrh3vyec2q&quot;&gt;Peter의 사려 깊은 댓글&lt;/a&gt;을 바탕으로 8월 13일에 추가되었습니다&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴포넌트가 WCAG 스펙을 충족할 수 없다고 말하지만, 다른 스펙은 충분히 충족할 수 있습니다. 버튼이 WCAG를 충족한다고 주장하는 것은 의미 없지만, 버튼이 버튼 전용 스펙을 충족한다고 말하는 것은 의미 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 컴포넌트에 대해서도 그 컴포넌트를 접근 가능하게(또는 훌륭하게) 만들기 위한 요구사항 목록을 작성할 수 있습니다. 컴포넌트는 그 요구사항 전체를 충족할 수 있습니다. 공상이 아닙니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NL 디자인 시스템 프로젝트(면책 사항: 저는 그곳에서 일한 적이 있습니다)는 정부 디자인 시스템 제작자 커뮤니티의 컴포넌트를 인큐베이팅합니다. 인큐베이션 과정에서 각 컴포넌트의 요구사항 목록을 작성합니다. 예를 들어 &lt;a href=&quot;https://nldesignsystem.nl/skip-link/#checklist-voor-toegankelijkheid&quot;&gt;스킵 링크에 대한 요구사항 목록&lt;/a&gt;을 확인해보세요(네덜란드어이지만, 번역 서비스를 쓰면 됩니다).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;US 웹 디자인 시스템에도 체크리스트가 있습니다. &lt;a href=&quot;https://designsystem.digital.gov/components/button/accessibility-tests/&quot;&gt;버튼 체크리스트&lt;/a&gt;가 그 예입니다. 컴포넌트를 만들 때 테스트한 내용과 구현 시 각 컴포넌트에 대해 테스트해야 할 내용을 설명합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공식적으로, 컴포넌트에 대한 접근성 적합성을 주장할 수 없습니다. 그러나 과잉 약속의 위험이 있기 때문에 그런 주장을 하고 싶지도 않습니다. 그럼에도 컴포넌트를 최적화하는 데는 큰 가치가 있습니다. 합리적으로 내장할 수 있는 것을 내장하려는 시도에도 큰 가치가 있습니다. 어떻게 만들고 테스트했는지 설명하는 문서를 제공하는 일도 마찬가지입니다. 누가 무엇과, 그리고 &lt;a href=&quot;https://www.w3.org/WAI/people-use-web/&quot;&gt;어떻게&lt;/a&gt; 상호작용하는지 절대 잊지 않는 한에서 말이죠. 목표는 사람들이 최종 제품을 쓸 수 있어야 한다는 것입니다.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;업데이트 목록&lt;/summary&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2025년 8월 15일: 피드백을 반영해 여러 곳에 명확한 설명을 추가했습니다. 이 글은 컴포넌트를 만들고, 테스트하고, 평가하고, 최적화하는 것을 만류하려는 게 아닙니다. WCAG가 적합성 주장을 공식적으로 전체 페이지에 한정하는 이유, 그리고 그 범위가 왜 타당한지(사용자는 컴포넌트가 아닌 최종 제품을 경험하기 때문)를 설명하기 위한 글입니다.&lt;/li&gt;
&lt;li&gt;2025년 8월 13일: 컴포넌트가 충족할 수 있는 다른 스펙 섹션 추가.&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;</description>
      <category>Web Frontend Developer</category>
      <author>DevOwen</author>
      <guid isPermaLink="true">https://yolo2429.tistory.com/532</guid>
      <comments>https://yolo2429.tistory.com/532#entry532comment</comments>
      <pubDate>Fri, 5 Jun 2026 18:15:28 +0900</pubDate>
    </item>
  </channel>
</rss>