{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "김신건의 로그",
  "home_page_url": "https://shinkeonkim.com/",
  "feed_url": "https://shinkeonkim.com/feed.json",
  "description": "개발자 김신건(koa)의 개발 블로그 — Python, Django, Astro, 알고리즘(백준/PS), 웹 개발, 데이터베이스를 기록하는 글·노트·위키.",
  "language": "ko-KR",
  "icon": "https://shinkeonkim.com/icon-512.png",
  "favicon": "https://shinkeonkim.com/favicon-32x32.png",
  "authors": [
    {
      "name": "koa (김신건)",
      "url": "https://shinkeonkim.com"
    }
  ],
  "items": [
    {
      "id": "https://shinkeonkim.com/posts/iac-tutorial/",
      "url": "https://shinkeonkim.com/posts/iac-tutorial/",
      "title": "IaC 튜토리얼 (1)",
      "summary": "IaC(Infrastructure as Code) 개념과 도구들을 소개하는 튜토리얼",
      "content_text": "IaC(Infrastructure as Code) 개념과 도구들을 소개하는 튜토리얼",
      "date_published": "2026-06-12T00:00:00.000Z",
      "date_modified": "2026-06-12T00:00:00.000Z",
      "tags": [
        "tutorial",
        "IaC"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/code-with-output-showcase/",
      "url": "https://shinkeonkim.com/posts/code-with-output-showcase/",
      "title": "CodeWithOutput 컴포넌트 데모",
      "summary": "CodeWithOutput 컴포넌트가 지원하는 모든 사용 패턴 — 단일/다중 STDIN·STDOUT, 다중 언어 변형, 라벨/타이틀, 반응형, 엣지 케이스까지 한 번에 확인할 수 있도록 모아둔 데모 페이지.",
      "content_text": "CodeWithOutput 컴포넌트가 지원하는 모든 사용 패턴 — 단일/다중 STDIN·STDOUT, 다중 언어 변형, 라벨/타이틀, 반응형, 엣지 케이스까지 한 번에 확인할 수 있도록 모아둔 데모 페이지.",
      "date_published": "2026-05-26T00:00:00.000Z",
      "date_modified": "2026-05-26T00:00:00.000Z",
      "tags": [
        "meta",
        "demo"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/leetcode/shell/192-word-frequency/",
      "url": "https://shinkeonkim.com/posts/problem-solving/leetcode/shell/192-word-frequency/",
      "title": "[Leetcode] 192 Word Frequency",
      "summary": "Leetcode 192번 문제 풀이입니다.",
      "content_text": "Leetcode 192번 문제 풀이입니다.",
      "date_published": "2026-05-25T09:35:44.000Z",
      "tags": [
        "Leetcode"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/leetcode/shell/195-tenth-line/",
      "url": "https://shinkeonkim.com/posts/problem-solving/leetcode/shell/195-tenth-line/",
      "title": "[Leetcode] 195 Tenth Line",
      "summary": "Leetcode 195번 문제 풀이입니다.",
      "content_text": "Leetcode 195번 문제 풀이입니다.",
      "date_published": "2026-05-25T09:14:23.000Z",
      "tags": [
        "Leetcode"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/leetcode/shell/193-valid-phone-numbers/",
      "url": "https://shinkeonkim.com/posts/problem-solving/leetcode/shell/193-valid-phone-numbers/",
      "title": "[Leetcode] 193 Valid Phone Numbers",
      "summary": "Leetcode 193번 문제 풀이입니다.",
      "content_text": "Leetcode 193번 문제 풀이입니다.",
      "date_published": "2026-05-25T08:14:00.000Z",
      "tags": [
        "Leetcode"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/2026-05-24-cache-pros/",
      "url": "https://shinkeonkim.com/posts/2026-05-24-cache-pros/",
      "title": "캐시 적용이 적절한 상황",
      "summary": "캐시 적용이 적절한 상황에 대해",
      "content_text": "캐시 적용이 적절한 상황에 대해",
      "date_published": "2026-05-24T09:26:00.000Z",
      "tags": [],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/markdown-kitchen-sink/",
      "url": "https://shinkeonkim.com/posts/markdown-kitchen-sink/",
      "title": "마크다운 문법 종합 테스트",
      "summary": "Astro + remark 플러그인 조합에서 어떤 마크다운 문법이 동작하는지 정리한 데모 페이지.",
      "content_text": "Astro + remark 플러그인 조합에서 어떤 마크다운 문법이 동작하는지 정리한 데모 페이지.",
      "date_published": "2026-05-23T00:00:00.000Z",
      "date_modified": "2026-05-23T00:00:00.000Z",
      "tags": [
        "meta",
        "markdown",
        "demo"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/scaling-blog-to-10k-posts/",
      "url": "https://shinkeonkim.com/posts/scaling-blog-to-10k-posts/",
      "title": "1만 개의 글에서도 빠르게: 블로그 빌드 성능 최적화 회고",
      "summary": "Astro 블로그가 1만 개 문서를 안전하게 다루기 위해 O(N²) 빌드 병목을 잡고 그래프/검색을 손본 과정과 교훈.",
      "content_text": "Astro 블로그가 1만 개 문서를 안전하게 다루기 위해 O(N²) 빌드 병목을 잡고 그래프/검색을 손본 과정과 교훈.",
      "date_published": "2026-05-23T00:00:00.000Z",
      "date_modified": "2026-05-23T00:00:00.000Z",
      "tags": [
        "perf",
        "build",
        "astro",
        "optimization",
        "retrospective"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/my-life/2025-12-31-goodbye-2025/",
      "url": "https://shinkeonkim.com/posts/my-life/2025-12-31-goodbye-2025/",
      "title": "2025년 회고록 - 개발자에서 학생으로 돌아가서, 2025년을 정리하며",
      "content_text": "",
      "date_published": "2025-12-31T04:30:00.000Z",
      "tags": [
        "회고록"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/atcoder/2025-03-30-abc-399/",
      "url": "https://shinkeonkim.com/posts/atcoder/2025-03-30-abc-399/",
      "title": "Atcoder Beginner Contest 399 후기",
      "summary": "2025년 3월 30일에 진행된 Atcoder Beginner Contest 399에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "content_text": "2025년 3월 30일에 진행된 Atcoder Beginner Contest 399에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "date_published": "2025-03-30T10:00:00.000Z",
      "tags": [
        "atcoder",
        "문제풀이"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/atcoder/2025-03-23-abc-398/",
      "url": "https://shinkeonkim.com/posts/atcoder/2025-03-23-abc-398/",
      "title": "Atcoder Beginner Contest 398 후기",
      "summary": "2025년 3월 22일에 진행된 Atcoder Beginner Contest 398에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "content_text": "2025년 3월 22일에 진행된 Atcoder Beginner Contest 398에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "date_published": "2025-03-23T02:20:00.000Z",
      "tags": [
        "atcoder",
        "문제풀이"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/atcoder/2025-03-09-abc-396/",
      "url": "https://shinkeonkim.com/posts/atcoder/2025-03-09-abc-396/",
      "title": "Atcoder Beginner Contest 396 후기",
      "summary": "2025년 3월 8일에 진행된 Atcoder Beginner Contest 396에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "content_text": "2025년 3월 8일에 진행된 Atcoder Beginner Contest 396에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "date_published": "2025-03-09T09:20:00.000Z",
      "tags": [
        "atcoder",
        "문제풀이"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/atcoder/2025-03-02-abc-395/",
      "url": "https://shinkeonkim.com/posts/atcoder/2025-03-02-abc-395/",
      "title": "Atcoder Beginner Contest 395 후기",
      "summary": "2025년 3월 1일에 진행된 Atcoder Beginner Contest 395에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "content_text": "2025년 3월 1일에 진행된 Atcoder Beginner Contest 395에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "date_published": "2025-03-02T02:50:00.000Z",
      "tags": [
        "atcoder",
        "문제풀이"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/my-life/2025-02-26-grepp-memoir/",
      "url": "https://shinkeonkim.com/posts/my-life/2025-02-26-grepp-memoir/",
      "title": "새로운 시작을 준비하며, 그렙을 떠나 다시 학교로 돌아갑니다",
      "summary": "그렙에서의 지난 여정을 돌아보며, 앞으로의 새로운 도전을 위해 대학으로 복학하기로 한 결심과 그 배경에 대해 공유하는 회고록입니다.",
      "content_text": "그렙에서의 지난 여정을 돌아보며, 앞으로의 새로운 도전을 위해 대학으로 복학하기로 한 결심과 그 배경에 대해 공유하는 회고록입니다.",
      "date_published": "2025-02-26T04:25:00.000Z",
      "date_modified": "2025-02-26T04:25:00.000Z",
      "tags": [
        "회고록",
        "그렙",
        "프로그래머스"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/atcoder/2025-02-23-abc-394/",
      "url": "https://shinkeonkim.com/posts/atcoder/2025-02-23-abc-394/",
      "title": "Atcoder Beginner Contest 394 후기",
      "summary": "2025년 2월 22일에 진행된 Atcoder Beginner Contest 394에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "content_text": "2025년 2월 22일에 진행된 Atcoder Beginner Contest 394에서 풀이한 문제들과 풀이 방법, 그리고 대회 경험을 공유하는 후기입니다.",
      "date_published": "2025-02-23T05:00:00.000Z",
      "tags": [
        "atcoder",
        "문제풀이"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/my-life/2024-05-28-army-memoir/",
      "url": "https://shinkeonkim.com/posts/my-life/2024-05-28-army-memoir/",
      "title": "2022년 11월부터 시작된 1년 6개월 회고록",
      "summary": "군대에서의 1년 6개월을 돌아보며, 그 기간 동안의 공부와 앞으로의 계획에 대해 정리한 회고록입니다.",
      "content_text": "군대에서의 1년 6개월을 돌아보며, 그 기간 동안의 공부와 앞으로의 계획에 대해 정리한 회고록입니다.",
      "date_published": "2024-05-28T06:00:00.000Z",
      "date_modified": "2024-05-28T06:00:00.000Z",
      "tags": [
        "회고록",
        "군대"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2023-09-20-boj-19496/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2023-09-20-boj-19496/",
      "title": "[BOJ] 16496 큰 수 만들기",
      "summary": "야간 당직을 서면서 직접 숫자를 만들어 나열해가다가, 아이디어가 떠올랐다.",
      "content_text": "야간 당직을 서면서 직접 숫자를 만들어 나열해가다가, 아이디어가 떠올랐다.",
      "date_published": "2023-09-20T14:03:00.000Z",
      "tags": [
        "BOJ",
        "PS",
        "Sorting"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2023-09-10-boj-16940/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2023-09-10-boj-16940/",
      "title": "[BOJ] 16940 BFS 스페셜 저지",
      "summary": "트리가 주어지고, 노드들을 탐색한 순서가 주어진다. 이때, 탐색한 순서가 BFS 탐색으로 가능한 순서가 맞는지 검증하면 된다.",
      "content_text": "트리가 주어지고, 노드들을 탐색한 순서가 주어진다. 이때, 탐색한 순서가 BFS 탐색으로 가능한 순서가 맞는지 검증하면 된다.",
      "date_published": "2023-09-10T04:00:00.000Z",
      "tags": [
        "BOJ",
        "PS",
        "DP"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2023-05-27-boj-2618/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2023-05-27-boj-2618/",
      "title": "[BOJ] 2618 경찰차",
      "summary": "이때, 두 경찰차가 이동하는 최소 거리를 구해야 한다.",
      "content_text": "이때, 두 경찰차가 이동하는 최소 거리를 구해야 한다.",
      "date_published": "2023-05-27T09:23:00.000Z",
      "tags": [
        "BOJ",
        "PS",
        "DP"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/my-life/2022-10-30-goodbye-2022/",
      "url": "https://shinkeonkim.com/posts/my-life/2022-10-30-goodbye-2022/",
      "title": "2년차 주니어 개발자 / 휴학생 / 예비 군인의 미리 쓰는 2022년 회고록",
      "summary": "2년차 주니어 개발자, 휴학생, 예비 군인 등 많은 수식어가 생긴 올해의 회고록은 일찍 써보려 한다.",
      "content_text": "2년차 주니어 개발자, 휴학생, 예비 군인 등 많은 수식어가 생긴 올해의 회고록은 일찍 써보려 한다.",
      "date_published": "2022-10-30T07:05:00.000Z",
      "tags": [
        "회고록",
        "주니어 개발자"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2022-05-05-boj-16942/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2022-05-05-boj-16942/",
      "title": "[BOJ] 16942 문자열 접기",
      "summary": "주어지는 문자열을 접어서, 같은 문자열로만 이루어지는 문자열을 만들어내면 된다.",
      "content_text": "주어지는 문자열을 접어서, 같은 문자열로만 이루어지는 문자열을 만들어내면 된다.",
      "date_published": "2022-05-05T03:16:14.000Z",
      "tags": [
        "BOJ",
        "PS",
        "DP"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2022-01-08-boj-19718/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2022-01-08-boj-19718/",
      "title": "[BOJ] 19718 King's Inspection",
      "summary": "문제 상황을 요약하면 다음과 같다.",
      "content_text": "문제 상황을 요약하면 다음과 같다.",
      "date_published": "2022-01-08T09:33:10.000Z",
      "tags": [
        "BOJ",
        "PS",
        "Greedy"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/til/2021-12-19-til-responsive-animation/",
      "url": "https://shinkeonkim.com/posts/til/2021-12-19-til-responsive-animation/",
      "title": "[TIL] Window size에 따라 속도가 달라지는 CSS Animation 바로잡기",
      "summary": "새벽에 어쩌다 떠오른 아이디어로 짧고 굵게 토이 프로젝트를 진행해보고 있다.",
      "content_text": "새벽에 어쩌다 떠오른 아이디어로 짧고 굵게 토이 프로젝트를 진행해보고 있다.",
      "date_published": "2021-12-19T09:38:16.000Z",
      "tags": [
        "TIL",
        "CSS",
        "CSS Animation",
        "Vue.js"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/til/2021-12-14-til-django-get_random_string/",
      "url": "https://shinkeonkim.com/posts/til/2021-12-14-til-django-get_random_string/",
      "title": "[TIL] Django Alphanumeric Random String 생성하기",
      "summary": "웹 서비스를 구성하다보면, 종종 랜덤 문자열을 뽑아내야 하는 경우가 있다.",
      "content_text": "웹 서비스를 구성하다보면, 종종 랜덤 문자열을 뽑아내야 하는 경우가 있다.",
      "date_published": "2021-12-14T12:40:53.000Z",
      "tags": [
        "TIL",
        "python",
        "Django",
        "random"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/my-life/2021-12-09-goodbye-2021/",
      "url": "https://shinkeonkim.com/posts/my-life/2021-12-09-goodbye-2021/",
      "title": "대학교 2학년 휴학생, 회사에서 2021년 회고록",
      "summary": "한달, 아니 적어도 분기마다 회고록을 쓰려고 했지만.. 항상 키보드를 잡다가, 포기해왔다. 하지만 올해는 마무리 지어야하기에 끄적여본다.",
      "content_text": "한달, 아니 적어도 분기마다 회고록을 쓰려고 했지만.. 항상 키보드를 잡다가, 포기해왔다. 하지만 올해는 마무리 지어야하기에 끄적여본다.",
      "date_published": "2021-12-09T00:00:00.000Z",
      "tags": [
        "회고록",
        "주니어 개발자"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/til/2021-11-18-til-slack-web-hook-and-github-action/",
      "url": "https://shinkeonkim.com/posts/til/2021-11-18-til-slack-web-hook-and-github-action/",
      "title": "[TIL] 슬랙 웹훅과 깃헙 액션을 이용해 알림 봇 만들기",
      "summary": "국민대학교 멋쟁이사자처럼에서 슬랙을 사용하기로 했고, 내부 스터디인 줌터디도 슬랙에서 활동을 하게되었다. 이때, 특정 시간마다 회고글을 쓰라는 메세지가 주기적으로 오는 봇이 있으면 좋겠다고 생각이 들었다.",
      "content_text": "국민대학교 멋쟁이사자처럼에서 슬랙을 사용하기로 했고, 내부 스터디인 줌터디도 슬랙에서 활동을 하게되었다. 이때, 특정 시간마다 회고글을 쓰라는 메세지가 주기적으로 오는 봇이 있으면 좋겠다고 생각이 들었다.",
      "date_published": "2021-11-18T11:02:09.000Z",
      "tags": [
        "TIL",
        "슬랙 webhook",
        "Github action"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-11-08-boj-15087/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-11-08-boj-15087/",
      "title": "[BOJ] 15087 DRM Messages",
      "summary": "- python에서 ord, chr을 잘 활용하자. - 단계별로 최대한 함수를 나누어 구현해보면, 더 쉽게 문제가 해결된다.",
      "content_text": "- python에서 ord, chr을 잘 활용하자. - 단계별로 최대한 함수를 나누어 구현해보면, 더 쉽게 문제가 해결된다.",
      "date_published": "2021-11-08T06:42:51.000Z",
      "tags": [
        "BOJ",
        "PS",
        "구현"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-23-boj-9881/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-23-boj-9881/",
      "title": "[BOJ] 9881 Ski Course Design",
      "summary": "문제를 간단?하게 요약/번역해보자.",
      "content_text": "문제를 간단?하게 요약/번역해보자.",
      "date_published": "2021-10-23T08:05:14.000Z",
      "tags": [
        "BOJ",
        "PS",
        "sweeping"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-17-boj-14427-2/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-17-boj-14427-2/",
      "title": "[BOJ] 14427 수열과 쿼리 15(2)",
      "summary": "boj-14427 글에서 평방 분할을 이용한 풀이를 끄적였는데, solved.ac 난이도 기여를 하러 들어갔더니",
      "content_text": "boj-14427 글에서 평방 분할을 이용한 풀이를 끄적였는데, solved.ac 난이도 기여를 하러 들어갔더니",
      "date_published": "2021-10-17T02:42:08.000Z",
      "tags": [
        "BOJ",
        "PS",
        "수열과 쿼리",
        "priority_queue"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-17-boj-14427/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-17-boj-14427/",
      "title": "[BOJ] 14427 수열과 쿼리 15",
      "summary": "오랜만에 세그먼트 트리를 복습하고자 본 문제였지만, 결국 제일 좋아하는 알고리즘이 된(?!) sqrt decomposition을 이용해 풀게 되었다.",
      "content_text": "오랜만에 세그먼트 트리를 복습하고자 본 문제였지만, 결국 제일 좋아하는 알고리즘이 된(?!) sqrt decomposition을 이용해 풀게 되었다.",
      "date_published": "2021-10-17T01:52:11.000Z",
      "tags": [
        "BOJ",
        "PS",
        "수열과 쿼리",
        "평방 분할"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-13-boj-19572/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-13-boj-19572/",
      "title": "[BOJ] 19572 가뭄(small)",
      "summary": "연립방정식을 풀자.",
      "content_text": "연립방정식을 풀자.",
      "date_published": "2021-10-13T10:01:50.000Z",
      "tags": [
        "BOJ",
        "PS",
        "math"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-07/",
      "url": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-07/",
      "title": "[CSSBattle] Target #7 - Leafy Trail",
      "summary": "동일한 잎 모양의 도형이 3개 반복된다. box-shadow를 이용해서, 간단하게 처리하자!",
      "content_text": "동일한 잎 모양의 도형이 3개 반복된다. box-shadow를 이용해서, 간단하게 처리하자!",
      "date_published": "2021-10-10T09:48:02.000Z",
      "tags": [
        "CSSBattle",
        "CSS"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-06/",
      "url": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-06/",
      "title": "[CSSBattle] Target #6 - Missing Slice",
      "summary": "이것도 특이한 아이디어는 없다.",
      "content_text": "이것도 특이한 아이디어는 없다.",
      "date_published": "2021-10-10T09:24:41.000Z",
      "tags": [
        "CSSBattle",
        "CSS"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-05/",
      "url": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-05/",
      "title": "[CSSBattle] Target #5 - Acid Rain",
      "summary": "일단 빗방울 같이 생긴 도형 2개는 box-shadow를 이용해서, 같이 처리하면 될 것 같았다. 문제는 오른쪽 원이었고, border-radius가 달랐기에 새로 하나 만들고, 픽셀로 계산해서 조절해서 넣자 생각을 했다.",
      "content_text": "일단 빗방울 같이 생긴 도형 2개는 box-shadow를 이용해서, 같이 처리하면 될 것 같았다. 문제는 오른쪽 원이었고, border-radius가 달랐기에 새로 하나 만들고, 픽셀로 계산해서 조절해서 넣자 생각을 했다.",
      "date_published": "2021-10-10T08:48:18.000Z",
      "tags": [
        "CSSBattle",
        "CSS"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-04/",
      "url": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-04/",
      "title": "[CSSBattle] Target #4 - Ups n Downs",
      "summary": "보자마자 일단 6개의 구역을 나누고, 짝수번째인것의 색상을 바꾸자 라는 생각부터 들었다.",
      "content_text": "보자마자 일단 6개의 구역을 나누고, 짝수번째인것의 색상을 바꾸자 라는 생각부터 들었다.",
      "date_published": "2021-10-10T08:35:52.000Z",
      "tags": [
        "CSSBattle",
        "CSS"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-03/",
      "url": "https://shinkeonkim.com/posts/css-battle/2021-10-10-css-battle-03/",
      "title": "[CSSBattle] Target #3 - Push Button",
      "summary": "얼핏보면 원을 여러모로 많이 만들어야 하는 풀이로 풀 수도 있다.",
      "content_text": "얼핏보면 원을 여러모로 많이 만들어야 하는 풀이로 풀 수도 있다.",
      "date_published": "2021-10-10T08:17:52.000Z",
      "tags": [
        "CSSBattle",
        "CSS"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/css-battle/2021-10-09-css-battle-02/",
      "url": "https://shinkeonkim.com/posts/css-battle/2021-10-09-css-battle-02/",
      "title": "[CSSBattle] Target #2 - Carrom",
      "summary": "같은 요소 4개를 만들고, 4방향으로 퍼뜨리면 되는 문제다.",
      "content_text": "같은 요소 4개를 만들고, 4방향으로 퍼뜨리면 되는 문제다.",
      "date_published": "2021-10-09T10:02:30.000Z",
      "tags": [
        "CSSBattle",
        "CSS"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/css-battle/2021-10-09-css-battle-01/",
      "url": "https://shinkeonkim.com/posts/css-battle/2021-10-09-css-battle-01/",
      "title": "[CSSBattle] Css Battle 사이트 알아보기 & Target #1",
      "summary": "online tutorial 영상을 통해 접한 사이트다.",
      "content_text": "online tutorial 영상을 통해 접한 사이트다.",
      "date_published": "2021-10-09T09:43:22.000Z",
      "tags": [
        "CSSBattle",
        "CSS"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-07-boj-13305/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-07-boj-13305/",
      "title": "[BOJ] 12205 주유소",
      "summary": "문제를 해결하는 방법은 심플하다.",
      "content_text": "문제를 해결하는 방법은 심플하다.",
      "date_published": "2021-10-07T11:49:35.000Z",
      "tags": [
        "BOJ",
        "PS",
        "Greedy",
        "KOI 2016 중등부"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-07-boj-2205/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-07-boj-2205/",
      "title": "[BOJ] 2205 저울 추 만들기",
      "summary": "문제를 보자마자, 일단 쭉 나열해봤다.",
      "content_text": "문제를 보자마자, 일단 쭉 나열해봤다.",
      "date_published": "2021-10-07T11:34:19.000Z",
      "tags": [
        "BOJ",
        "PS",
        "Greedy"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-03-boj-2212/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-10-03-boj-2212/",
      "title": "[BOJ] 2212 센서",
      "summary": "처음에 문제 지문을 보고 이해가 안 갔다.",
      "content_text": "처음에 문제 지문을 보고 이해가 안 갔다.",
      "date_published": "2021-10-03T10:34:43.000Z",
      "tags": [
        "BOJ",
        "PS",
        "sorting",
        "greedy"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/til/2021-10-03-til-cytoscape-vue/",
      "url": "https://shinkeonkim.com/posts/til/2021-10-03-til-cytoscape-vue/",
      "title": "[TIL] vue에서 cytoscape 사용하기 1",
      "summary": "개인 프로젝트로 connection 이라는 이름의 프로젝트를 진행중이다.",
      "content_text": "개인 프로젝트로 connection 이라는 이름의 프로젝트를 진행중이다.",
      "date_published": "2021-10-02T16:19:23.000Z",
      "tags": [
        "Vue.js",
        "cytoscape"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/2021-10-01-detect-intersection-two-circle/",
      "url": "https://shinkeonkim.com/posts/2021-10-01-detect-intersection-two-circle/",
      "title": "[기초 PS 지식] 두 원의 교차 여부 판단하기",
      "summary": "두 원의 x, y 좌표가 주어지고, 각각 반지름이 주어졌다고 하자.",
      "content_text": "두 원의 x, y 좌표가 주어지고, 각각 반지름이 주어졌다고 하자.",
      "date_published": "2021-10-01T14:10:49.000Z",
      "tags": [
        "math",
        "ps"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/til/2021-10-01-til-python-short-coding-1/",
      "url": "https://shinkeonkim.com/posts/til/2021-10-01-til-python-short-coding-1/",
      "title": "[TIL] python으로 숏코딩 하기 1",
      "summary": "22155번: Простая задача 문제를 풀고, 숏코딩 풀이들을 살펴보다 알게 되었다.",
      "content_text": "22155번: Простая задача 문제를 풀고, 숏코딩 풀이들을 살펴보다 알게 되었다.",
      "date_published": "2021-10-01T12:34:20.000Z",
      "tags": [
        "python",
        "short coding"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-30-boj-3878/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-30-boj-3878/",
      "title": "[BOJ] 3878 점 분리",
      "summary": "사실 1년 전에 푼 문제다.",
      "content_text": "사실 1년 전에 푼 문제다.",
      "date_published": "2021-09-30T14:34:26.000Z",
      "tags": [
        "BOJ",
        "PS",
        "Convex Hull"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-29-boj-22351/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-29-boj-22351/",
      "title": "[BOJ] 22351 수학은 체육과목 입니다 3",
      "summary": "시작 지점을 특정하는 방법이 중요하다.",
      "content_text": "시작 지점을 특정하는 방법이 중요하다.",
      "date_published": "2021-09-29T11:36:22.000Z",
      "tags": [
        "BOJ",
        "PS",
        "Bruteforce"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-28-boj-1359/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-28-boj-1359/",
      "title": "[BOJ] 1359 복권",
      "summary": "python itertools에는 너무나 좋은 것이 많다. ㅎㅎ",
      "content_text": "python itertools에는 너무나 좋은 것이 많다. ㅎㅎ",
      "date_published": "2021-09-28T13:49:48.000Z",
      "tags": [
        "BOJ",
        "PS",
        "combination"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-28-boj-20443/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-28-boj-20443/",
      "title": "[BOJ] 20443 배드민턴 대회",
      "summary": "문제를 딱 보자 마다, 어디선가 봤던 건데... 하고 망설였는데,",
      "content_text": "문제를 딱 보자 마다, 어디선가 봤던 건데... 하고 망설였는데,",
      "date_published": "2021-09-28T13:01:18.000Z",
      "tags": [
        "BOJ",
        "PS",
        "math",
        "교란순열"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-22-boj-20551/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2021-09-22-boj-20551/",
      "title": "[BOJ] 20551 Sort 마스터 배지훈의 후계자",
      "summary": "이진탐색을 잘 하자.",
      "content_text": "이진탐색을 잘 하자.",
      "date_published": "2021-09-22T07:03:44.000Z",
      "tags": [
        "BOJ",
        "PS",
        "binary search"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    },
    {
      "id": "https://shinkeonkim.com/posts/problem-solving/boj/2019-09-22-boj-21966/",
      "url": "https://shinkeonkim.com/posts/problem-solving/boj/2019-09-22-boj-21966/",
      "title": "[BOJ] 21966 (중략)",
      "summary": "간단한 구현 문제다.",
      "content_text": "간단한 구현 문제다.",
      "date_published": "2021-09-22T06:44:52.000Z",
      "tags": [
        "BOJ",
        "PS",
        "구현"
      ],
      "authors": [
        {
          "name": "koa (김신건)",
          "url": "https://shinkeonkim.com"
        }
      ]
    }
  ]
}