<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>SOSO</title>
    <link>https://rtw0202.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 20 May 2026 11:41:08 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>rtw0202</managingEditor>
    <item>
      <title>[DataLemur] [NY Times] Laptop vs. Mobile Viewership</title>
      <link>https://rtw0202.tistory.com/156</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;1. 문제 설명&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;노트북과 모바일 기기(태블릿과 스마트폰 시청률의 합)의 총 시청률을 계산하는 쿼리를 작성하세요. 노트북의 총 시청률은 laptop_reviews에, 모바일 기기의 총 시청률은 mobile_views에 출력하세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;viewership 테이블은 다음과 같습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-19 오후 7.36.05.png&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;298&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6Bd1w/dJMcaadyeam/Rjh3xL5RiBAvzCxHFjHNHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6Bd1w/dJMcaadyeam/Rjh3xL5RiBAvzCxHFjHNHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6Bd1w/dJMcaadyeam/Rjh3xL5RiBAvzCxHFjHNHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6Bd1w%2FdJMcaadyeam%2FRjh3xL5RiBAvzCxHFjHNHk%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;485&quot; height=&quot;199&quot; data-filename=&quot;스크린샷 2026-03-19 오후 7.36.05.png&quot; data-origin-width=&quot;726&quot; data-origin-height=&quot;298&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;2. 출력 예시&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-19 오후 7.36.42.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPt3WG/dJMcaadyece/y3Nd0yXouGIVprM8KgjXzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPt3WG/dJMcaadyece/y3Nd0yXouGIVprM8KgjXzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPt3WG/dJMcaadyece/y3Nd0yXouGIVprM8KgjXzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPt3WG%2FdJMcaadyece%2Fy3Nd0yXouGIVprM8KgjXzk%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;303&quot; height=&quot;81&quot; data-filename=&quot;스크린샷 2026-03-19 오후 7.36.42.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;br /&gt;3. 문제 답안&lt;/p&gt;
&lt;pre id=&quot;code_1773916624757&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
  SUM(CASE WHEN device_type = 'laptop' THEN 1 END) AS laptop_views,
  SUM(CASE WHEN device_type IN ('tablet', 'phone') THEN 1 END) AS mobile_views
FROM viewership;&lt;/code&gt;&lt;/pre&gt;</description>
      <category> ️ 코딩테스트/SQL</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/156</guid>
      <comments>https://rtw0202.tistory.com/156#entry156comment</comments>
      <pubDate>Thu, 19 Mar 2026 19:37:23 +0900</pubDate>
    </item>
    <item>
      <title>[빅데이터분석기사] 실기 정리</title>
      <link>https://rtw0202.tistory.com/154</link>
      <description>&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/Ux3OJ/dJMcahKs0UD/IKx947dcDgMiNTjklTib0K/%E1%84%87%E1%85%B5%E1%86%A8%E1%84%83%E1%85%A6%E1%84%8B%E1%85%B5%E1%84%90%E1%85%A5%E1%84%87%E1%85%AE%E1%86%AB%E1%84%89%E1%85%A5%E1%86%A8%E1%84%80%E1%85%B5%E1%84%89%E1%85%A1%20%E1%84%89%E1%85%B5%E1%86%AF%E1%84%80%E1%85%B5%20%E1%84%8C%E1%85%A5%E1%86%BC%E1%84%85%E1%85%B5.pdf?attach=1&amp;amp;knm=tfile.pdf&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;빅데이터분석기사 실기 정리.pdf&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;17.26MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>  자격증/빅데이터분석기사</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/154</guid>
      <comments>https://rtw0202.tistory.com/154#entry154comment</comments>
      <pubDate>Mon, 16 Mar 2026 15:07:49 +0900</pubDate>
    </item>
    <item>
      <title>[여덟 단어]</title>
      <link>https://rtw0202.tistory.com/152</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;부끄럽게도 이 책을 읽은 목적부터 말하자면&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;자소서 문항 중&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;가장 최근에 읽은 책이 무엇인가요?&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;라는 질문에 대답으로 적을 만한, 알맞은 책을 찾고 있었다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;소소하지만 나만의 기준대로 몇 가지 책을 추려냈고&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;전자도서관 어플에 들어가 책 이름을 검색하며 지금 당장 읽을 수 있는 책을 읽으려 했다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;'여덟 단어'라는 책이 대출 가능이라고 되어 있었고, 그렇게 가벼운 마음으로 이 책을 접하게 됐다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;책을 읽으며 좋은 구절이 많아 남긴다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;[자존]&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;어떤 위치에 있건, 어떤 운명이건 자기 자신을 존중하는 것.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;많은 사람들이 자존을 말하지만 진짜 자존을 지키며 사는 사람은 드물다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;이직 면접을 앞둔 후배에게 저자는 &quot;회사도 너를 면접하는 동시에 너도 회사를 면접해야 해. 회사가 날 위해 뭘 해줄 수 있는지. 회사는 사람이 필요하고 사람도 회사가 필요한 거니까. 부담을 이겨내기 위해서는 너의 주장을 가지고 가야 해.&quot;라고 말한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;면접을 앞둔 나에게 가장 와닿은 구절.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;스스로 자존을 이야기하고 주장을 펼칠 만큼 대단한 사람인지 불안해질 수도 있다. 그러나 우리는 우리가 생각하는 것보다 힘이 세고 단단한 사람들이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;열심히 살다 보면 인생에 어떤 점들이 뿌려질 것이고, 의미 없어 보이던 그 점들이 어느 순간 연결돼서 별이 된다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;정해진 빛을 따르려고 하지 마세요. 우리에겐 오직 각자의 점과 각자의 별이 있을 뿐입니다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;나만이 가질 수 있는 무기 하나쯤 마련해놓는 것, 거기에서 인생의 승부가 갈린다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;[본질]&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;요즘 같이 모든 게 빨리 변화하는 세상 속에서 그 흐름을 따라가려고만 하면 아무것도 할 수 없다. 이럴 때 더 중요한 것은 '내가 가지고 있는 것이 무엇인가'이다. 본질, 진정성이 어느 때보다 중요한 시대가 됐다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;본질을 무엇으로 보느냐에 따라 생각과 행동을 달라진다. 본질이 무엇인가에 따라 내 안의 흔들림이 달라진다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;발표의 본질은 준비한 메세지를 잘 전달하는 것이다. 남들에게 멋있어 보여야 하는 게 아니라&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;내가 하는 행동이 5년 후의 나에게 긍정적인 체력이 될 것이냐 아니냐가 본질을 판가름하는 기준이 될 수 있다고 본다. 본질은 자기 판단이며 나에게 무엇이 진짜 도움이 될 것인지를 중심에 두고 봐야 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;본질을 발견하려는 노력과 본질이 아니라고 생각하는 것은 포기할 줄 아는 용기, 자기를 믿는 고집이 있어야 한다. 그래야 단 하나뿐인 '나'라는 자아가 곧게 설 수 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;복잡한 사물의 핵심이 무엇인지 보려는 노력, 어떤 것을 보고 달려가는냐가 세상과의 싸움에서 이길 수 있는 커다란 무기이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;[고전]&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;사랑이 영원하지 않듯 대부분의 것들은 금방 사라져버린다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;고전은 시간을 이겨낸 결과물이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;지금까지 살아남아 고전이 된 모든 것을 무서워해야 한다. 몇 백년이 지난 지금까지 사람들이 인정하는 데에는 이유가 있지 않을까&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;알면 알수록 궁금한 것이 늘어나고, 내가 아는 만큼 더 많이 보고 듣고 느낄 수 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;고전을 궁금해해라. 많이 아는 것보다 깊이 아는 것이 좋다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;[견]&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;머릿속에 있다고 모든 것이 창의적으로 발현되는 것은 아니다. 머릿속에 있으되, 정확하게 새겨져 있어야 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;흘러간 것은 잡히지 않는다. 깊이 새겨져 있는 것만 잡을 수 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;'견'을 통해 모든 사물을 새롭게 바라본다면 그전까지 보이지 않았던 것들이 눈에 들어오며 행복한 순간이 늘어난다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;어떤 일을 하든 '보는 것'은 중요하다. 아무것도 아닌 것들이 아무것이고, 아무것이라고 생각했던 건 아무것도 아니다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;여행을 생활처럼 하고 생활을 여행처럼 하자. 여행처럼 생활한다면 매 순간이 소중하고 아까울 것이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;보는 것이 중요하지만 그 이상으로 너무 많은 것을 보려 하지 않는 것이 더 중요하다. 나만의 삶을 살면 된다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;호학심사(&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;好學深思) - 즐거이 배우고 깊이 생각하라&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;너무 많이 보려고 하지 말고, 본 것을 소화하려고 노력하자&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&quot;참된 지혜는 모든 것들을 다 해보는 데서 오는 게 아니라 개별적인 것들의 본질을 이해하려고 끝까지 탐구하면서 생겨나는 것이다.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;깊게 들여다본 순간들이 모여 찬란한 삶을 이룰 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;[현재]&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;개는 밥을 먹으면서 어제의 공놀이를 후회하지 않고 잠을 자면서 내일의 꼬리치기를 미리 걱정하지 않는다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;개들은 원형의 시간을 살고 있고, 행복은 원형의 시간 속에 있다. 개처럼 살자(순간을 잡아라, 현재를 즐겨라)&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;만물의 이치가 모두 나에게 갖추어져 있으니, 나를 돌아보고 지금 하는 일에 성의를 다한다면 그 즐거움이 더없이 클 것이다. - 맹자&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;흔들지지 않는다는 것은 다른 사람의 삶을 긍정하는 동시에 내 삶도 긍정한다는 것이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;다른 이의 답을 내 답이 될 수 없다는 사실을 인정하는 것. 현재에 집중해야 하는 가장 큰 이유이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;어떤 것이 옳은 것인지 고민하지 말고 선택한 뒤에 그 선택을 옳게 만들자. 이때 가장 중요한 것은 돌아보지 않는 자세이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;어느 하나를 선택하고, 그 선택을 옳게 만들려면 지금의 상황에서 무엇이 최선인지 생각하고 실천하는 게 제일 좋은 답이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;인생이란 잘 짜인 이야기라기보다 하나하나가 관능적 기쁨인, 내일 없는 작은 조각들의 광채이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;우리는 순간을 예측할 수 없으며 어떤 순간이 보배로운 순간인지 모른다. 그러니 그 순간을 보배롭게 보면 된다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;지금 이순간, 현재에 의미를 부여하지 않으면 행복은 삶이 끝나갈 때쯤 찾게 될 것이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;삶이란 순간의 합이므로 지금 이순간에 의미를 부여해야 한다. 내 선택을 옳게 만들기 위해 주어진 순간순간에 충실히 임하자.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;[권위]&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;우리는 모두 완벽하게 불완전한 사람들이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;만들어진 권위에 속지 말자.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;권위는 내가 만드는 것이 아니라 우러나와서 상대가 알아주는 것이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;인생을 멋지게 살고 싶다면 강자한테 강하고 약자한테 약해져라.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;옳은 게 이긴다. 옳은 말은 힘이 세다. 나의 판단이 옳은지 그른지 깊이 생각해보고, 옳다고 생각하면 내세울 줄 알아야 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;문턱을 넘어선 것과 상관없이 정당하게 논쟁하고 인정하고, 존경하고 또다시 저항하며 살자.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;우리는 약하기도 하고 강하기도 하다. 모든 사람이 그렇다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;[소통]&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;다름을 인정하자. 전달자는 메세지를 받는 사람과 본인이 다름을 이해해야 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;문맥을 생각하자. 같은 말이라도 상대가 누군지를 고려해야 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;생각을 디자인하자. 자신이 전달하고 싶은 내용을 세련되게 전달해야 한다. 디자인된 말은 사람의 마음을 움직인다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;소통을 하기 위해서는 상대가 어떻게 생각할지 상대의 관점에서 헤아릴 줄 알아야 하고, 자기 생각을 잘 정리해서 말함과 동시에 어떤 문맥으로 말해야 하는지를 파악해야 한다. 여기에 힘들 싶기 위해 지혜롭게 생각을 디자인해서 말하는 것이 필요하다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;소통을 잘하려면 노력이 필요하다. 자기 생각을 정리해보고 말을 만들어봐야 한다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;생각의 증류를 통해 둥글게 가지고 있는 생각을 정리하는 습관을 기르고, 더 정리해 증류해보자.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;단순한 본질을 뽑아낸다면 소통의 폭이 훨씬 넓어질 것이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;[인생]&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;전인미답(&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;前人未踏) - 지금가지 아무도 밟지 않은 길&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;누가 내 인생을 살아봤을까. 비슷할 수 있지만 모든 인생은 다 다르다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;우리 앞에 마땅히 주어진 전인미답의 길을 즐겨야 한다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;어차피 가야 하는 길 앞에서 망설이거나 두려워하기보다 설렘과 기대를 품고 걸어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;전인미답의 길을 즐기기 위해 가장 중요한 것은 우리의 불완전함을 받아들이고 실수에 휘둘리지 않는 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;좋은 일이 있을 때는 행운이라고 믿고, 나쁜일이 있거나 실수를 저지르면 흔히 있을 수 있다고 생각하자.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;인생에 불행은 절대 없다는 바람과 다르게 인생은 종종 실패와 마주하게 된다. 실패를 기본 조건으로 전제하면 작은 일에 흔들리지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;모든 인생은 의도한 대로 되지 않는다. 똑같이 반복되지 않으며 모든 인생은 전인미답이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;어떤 인생이든 어떤 형태로든 반드시 기회는 찾아온다. 그러니 내가 가진 것을 들여다보고 잡아야 한다. 나만의 무기를.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;기필을 버려라. 뭔가를 이루려고만 하지 말고 흘러가보기도 해라.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;하루하루는 성실하게, 인생은 되는대로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;목표치를 달성하는 것과 행복은 별개이다. 목표를 이루지 못하더라도 행복하게 살 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;나의 그 많은 단점에도 불구하고, 나는 나라는 자존을 가지고 나의 장점을 실현해 나가자.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;모든 사람은 때가 되면 엄청난 화력으로 터질 만큼 커다란 잠재력을 가지고 있다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #424242; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;가볍게 시작한 책이었지만 많은 위로와 조언을 받은 것 같다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;저자는 인생은 몇 번의 강의, 몇 권의 책으로 변하지 않으니 이 책도 인생에 큰 영향을 미치지는 않을 것이라고 말한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;맞는 말이다. 저자가 한 말처럼 머릿속 어딘가 새기지 않으면 이또한 금방 사라질 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;그렇기에 내 작은 머리 용량을 대신해 이렇게 글을 남긴다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;앞으로 살아가며 스스로 흔들린다고 생각할 때 이 책을 찾을 것 같다. 물론 그럴 일이 많이 없기를 바란다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>  책</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/152</guid>
      <comments>https://rtw0202.tistory.com/152#entry152comment</comments>
      <pubDate>Fri, 13 Mar 2026 17:11:42 +0900</pubDate>
    </item>
    <item>
      <title>[DataLemur] [Twitter] Histogram of Tweets</title>
      <link>https://rtw0202.tistory.com/153</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;1. 문제 설명&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;트위터&amp;nbsp;트윗&amp;nbsp;데이터&amp;nbsp;테이블이&amp;nbsp;주어졌다고&amp;nbsp;가정하고,&amp;nbsp;2022년&amp;nbsp;사용자별&amp;nbsp;트윗&amp;nbsp;게시&amp;nbsp;횟수&amp;nbsp;히스토그램을&amp;nbsp;생성하는&amp;nbsp;쿼리를&amp;nbsp;작성하세요.&amp;nbsp;각&amp;nbsp;사용자별&amp;nbsp;트윗&amp;nbsp;게시&amp;nbsp;횟수를&amp;nbsp;그룹으로&amp;nbsp;묶고,&amp;nbsp;해당&amp;nbsp;그룹에&amp;nbsp;속한&amp;nbsp;트위터&amp;nbsp;사용자&amp;nbsp;수를&amp;nbsp;출력하세요.&amp;nbsp;즉,&amp;nbsp;2022년&amp;nbsp;트윗&amp;nbsp;게시&amp;nbsp;횟수를&amp;nbsp;기준으로&amp;nbsp;사용자를&amp;nbsp;그룹화하고&amp;nbsp;각&amp;nbsp;그룹에&amp;nbsp;속한&amp;nbsp;사용자&amp;nbsp;수를&amp;nbsp;계산하세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;tweets 테이블은 다음과 같습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-11 오후 9.54.45.png&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCdgkz/dJMcaio0J1L/tKXMCkpIkzDu9s5UFm33Q1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCdgkz/dJMcaio0J1L/tKXMCkpIkzDu9s5UFm33Q1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCdgkz/dJMcaio0J1L/tKXMCkpIkzDu9s5UFm33Q1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCdgkz%2FdJMcaio0J1L%2FtKXMCkpIkzDu9s5UFm33Q1%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;316&quot; height=&quot;180&quot; data-filename=&quot;스크린샷 2026-03-11 오후 9.54.45.png&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;2. 출력 예시&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-11 오후 9.55.04.png&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;228&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oS67Q/dJMcaio0J2R/I51OpQEz0lQzskgkUVsp6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oS67Q/dJMcaio0J2R/I51OpQEz0lQzskgkUVsp6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oS67Q/dJMcaio0J2R/I51OpQEz0lQzskgkUVsp6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoS67Q%2FdJMcaio0J2R%2FI51OpQEz0lQzskgkUVsp6K%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;335&quot; height=&quot;124&quot; data-filename=&quot;스크린샷 2026-03-11 오후 9.55.04.png&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;228&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;br /&gt;3. 문제 답안&lt;/p&gt;
&lt;pre id=&quot;code_1773233748477&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
  t.tweet_bucket,
  COUNT(DISTINCT t.user_id) AS users_num
FROM (SELECT
        user_id,
        COUNT(DISTINCT tweet_id) AS tweet_bucket
      FROM tweets
      WHERE YEAR(tweet_date) = '2022'
      GROUP BY user_id
      ) t
GROUP BY t.tweet_bucket
ORDER BY t.tweet_bucket;&lt;/code&gt;&lt;/pre&gt;</description>
      <category> ️ 코딩테스트/SQL</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/153</guid>
      <comments>https://rtw0202.tistory.com/153#entry153comment</comments>
      <pubDate>Wed, 11 Mar 2026 21:56:12 +0900</pubDate>
    </item>
    <item>
      <title>[꾸뻬 씨의 행복 여행]</title>
      <link>https://rtw0202.tistory.com/151</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;누군가 &quot;행복해?&quot;라고 묻는다면 사람들은 어떻게 반응할까?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;누군가는 고민하지 않고 행복하다고 말할 것이고, 또 누군가는 대답을 망설이거나 오히려 불행하다고 말할 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그렇다면 행복의 기준은 무엇이고 행복해지는 방법은 무엇일까?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;꾸뻬 씨는 이 질문의 답을 찾기 위해 행복 여행을 시작한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;[꾸뻬 씨가 배운 행복]&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1. 행복의 첫번째 비밀은 자신을 다른 사람과 비교하지 않는 것이다. (비즈니스 클래스로 업그레이드 받은 후 비비엥을 만났을 때) &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. 행복은 때때로 뜻밖에 찾아온다. (비비엥과 대화를 마친 후)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3. 많은 사람들은 자신의 행복이 오직 미래에만 있다고 생각한다. (현재 자신의 상황에 대해 만족하지 못하는 친구 뱅쌍과 대화한 후)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;4. 많은 사람들은 더 큰 부자가 되고 더 중요한 사람이 되는 것이 행복이라고 생각한다. (기업 합병을 하는 뱅쌍과 대화한 후)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;5. 행복은 (알려지지 않은 아름다운) 산속을 걷는 것이다. (홀로 산길을 걸으며)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;6. 행복을 목표로 여기는 것은 잘못된 생각이다. (사람들이 불행한 원인은 행복을 목표라고 믿는 것 때문이라고 생각하는 노승과 대화한 후)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;7. 행복은 좋아하는 사람과 함께 있는 것이다. (돗자리에 앉아 웃고 있는 여자들을 본 후)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;8. 불행은 사랑하는 사람과 헤어지는 것이다. (엄마가 아이와 함께 있는 유모에게 말을 건네고는 바로 돌아설 때)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;9. 행복은 자기 가족에게 아무것도 부족한 것이 없음을 아는 것이다. (알베르도와 이시도르에게 무엇이 삶을 행복하게 만드는지 물었을 때)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;10. 행복은 자신이 좋아하는 일을 하는 것이다. (마약을 제배하는 알프레도와 대화하는 꾸뻬를 보고 장 미셸이 지적했을 때)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;11. 행복은 집과 채소밭을 갖는 것이다. (경호원 마르셸에게 왜 도시 사람들보다 시골 사람들이 행복해 보이는지 물었을 때)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;12. 좋지 않은 사람에 의해 통치되는 나라에서는 행복한 삶을 살기가 더욱 어렵다. (시골에서는 그럭저럭 살아갈 수 있지만 도시 사람들은 돈이 없으면 술과 마약으로 빠지게 된다는 마르셸의 말을 듣고)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;13. 행복은 자신이 다른 사람들에게 쓸모가 있다고 느끼는 것이다. (행복하냐는 물음에 행복하다고 말하며 본인이 필요한 존재라는 느낌을 받는다는 장 미셸의 말을 듣고)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;14. 행복이란 있는 그대로의 모습으로 사랑받는 것이다. (존재한다는 그 자체만으로 사랑받는다고 느낀다는 장 미셸의 말을 듣고)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;주목할 점. 우리는 웃고 있는 아이에게 더 친절하다. (거리에 살며 신발도 없는 아이들이 왜 항상 웃고 있는지 질문을 던졌을 때, 마리 루이즈의 사촌이 &quot;우리가 웃는 아이들에게 더 다정하게 대한다는 걸 아이들이 알고 있기 때문이에요&quot;라고 답했을 때)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;15. 행복은 살아 있음을 느끼는 것이다. (차를 뺏은 강도가 행복 수첩을 보고 꾸뻬를 살려줬을 때)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;16. 행복은 살아 있음을 축하하는 파티를 여는 것이다. (살아 있는 꾸뻬를 보고 파티를 열었을 때)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;17. 행복은 자기가 사랑하는 사람의 행복을 생각하는 것이다. (비행기 옆자리의 자밀라에게 행복이란 자신의 나라가 평화롭고, 남동생들이 전쟁터에 가지 않으며, 여동생이 좋은 남편을 만나 아이를 가지고, 그 아이들이 원하는 삶을 살게 되는 것이라고 말했을 때)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;18. 태양과 바다, 이것은 모든 사람들에게 행복을 가져다준다. (아녜스와 제이크가 사는 곳의 해변에서는 자신들보다 더 부자인 사람들을 잊을 수 있다는 걸 깨달은 후)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;19. 행복은 다른 사람의 의견을 너무 중요하게 생각하지 않는 것이다. (행복에 관한 전문가인 한 교수가 꾸뻬가 적은 행복 수첩을 보고 웃었을 때)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;20. 행복은 사물을 바라보는 방식에 달려 있다. (좋은 직업을 갖고 건강하지만 불행해하는 사람도 있다는 교수의 말을 듣고)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;21. 행복의 가장 큰 적은 경쟁심이다. (쟈스민과 루퍼트가 화기애애한 분위기로 대화하는 모습을 보고 불평하는 교수를 보고)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;22. 여성은 남성보다 다른 사람의 행복에 대해 더 배려할 줄 안다. (교수의 앞자리에 앉아 얘기하는 아녜스, 동생들의 행복을 기원하던 자밀라, 가족들에게 돈을 부치던 잉리를 생각하며)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;23. 행복은 다른 사람의 행복에 관심을 갖는 것이다. (본인보다 자신 주변 사람들의 행복을 바라는 사람들은 보고)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;여행을 마치고 꾸뻬는 행복 수첩을 노승에게 보여준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;노승은 진정한 행복은 먼 훗날 달성해야 할 목표가 아니라, 지금 이순간 존재하는 것이라고 말한다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;인간의 마음은 행복을 찾아 늘 과거나 미래로 달려가기에 현재의 자신을 불행하게 여기는 거라며. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그렇기에 행복은 미래의 목표가 아니라, 오히려 현재의 선택으로 지금 이 순간 행복하기로 선택한다면 얼마든지 행복할 수 있다는 것이다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;뱅쌍과 다시 만난 꾸뻬는 행복에는 다섯 개의 종류가 있다고 말한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;① 기쁜 일이 일어나는 것, 파티를 여는 것, 여행을 떠나는 것&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;② 운동이나 정원 가꾸기, 복잡한 계산하기(좋아하는 사람에 한해)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;③ 삶에 대해 만족을 느끼며 만족감이 지속되기를 바라는 것, 비교하는 것, 비교를 통해 행복하다고 느끼는 것, 전혀 비교하지 않는 것&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;④ 자신에게 무슨 일이 일어나든지 받아들이고, 마음의 평온함을 유지하는 것&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;⑤ 다른 사람들과 함께 하는 행복, 다른 사람들의 행복과 불행에 주의를 기울이는 것, 자신이 다른 사람들에게 쓸모가 있다고 느끼는 것&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;꾸뻬는 다섯 개의 행복 종류를 얘기해주며 뱅쌍에게 본인과 잉리를 위해 해줄 일이 있다고 말한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;잉리는 더이상 바에서 일하지 않고 뱅쌍의 사무실에서 일하며, 일하는 것이 삶의 목적이었던 뱅쌍은 정기적으로 노승을 만나며 3백만 달러를 벌기 전에 일을 그만둔다. 이후에는 가난한 나라에 사는 양심적인 사람들이 돈을 벌 수 있도록, 일을 시작할 때까지 무이자로 돈을 빌려주며 남과 나누는 행복에 대해 알게 된다. 그리고 자신의 행복 철학을 &quot;4. 많은 사람들은 더 큰 부자가 되고 더 중요한 사람이 되는 것이 행복이라고 생각한다.&quot;에서 &quot;13. 행복은 자신이 다른 사람들에게 쓸모가 있다고 느끼는 것이다.&quot;로 바꾸었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;사실 이 모든 사람들은 이미 충분히 행복해 있었다. 우리가 이야기를 시작하기 훨씬 전부터&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;행복은 밖에서 찾는 것이 아니라 스스로 어떻게 생각하냐에 달렸다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>  책</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/151</guid>
      <comments>https://rtw0202.tistory.com/151#entry151comment</comments>
      <pubDate>Wed, 11 Mar 2026 15:50:28 +0900</pubDate>
    </item>
    <item>
      <title>[DataLemur] [Facebook] Page With No Likes</title>
      <link>https://rtw0202.tistory.com/150</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;1. 문제 설명&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;페이스북&amp;nbsp;페이지와&amp;nbsp;각&amp;nbsp;페이지의&amp;nbsp;'좋아요'&amp;nbsp;수(예:&amp;nbsp;&quot;페이스북&amp;nbsp;페이지&amp;nbsp;좋아요&quot;)에&amp;nbsp;대한&amp;nbsp;데이터가&amp;nbsp;담긴&amp;nbsp;두&amp;nbsp;개의&amp;nbsp;테이블이&amp;nbsp;있다고&amp;nbsp;가정해&amp;nbsp;보세요.&amp;nbsp;'좋아요'&amp;nbsp;수가&amp;nbsp;0개인&amp;nbsp;페이스북&amp;nbsp;페이지의&amp;nbsp;ID를&amp;nbsp;반환하는&amp;nbsp;쿼리를&amp;nbsp;작성하세요.&amp;nbsp;출력&amp;nbsp;결과는&amp;nbsp;페이지&amp;nbsp;ID를&amp;nbsp;기준으로&amp;nbsp;오름차순으로&amp;nbsp;정렬되어야&amp;nbsp;합니다.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;pages 테이블은 다음과 같습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-10 오후 8.55.44.png&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lmmjA/dJMcagq96hK/ikPbjqoSGzVuMYPhOKYKB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lmmjA/dJMcagq96hK/ikPbjqoSGzVuMYPhOKYKB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lmmjA/dJMcagq96hK/ikPbjqoSGzVuMYPhOKYKB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlmmjA%2FdJMcagq96hK%2FikPbjqoSGzVuMYPhOKYKB1%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;293&quot; height=&quot;108&quot; data-filename=&quot;스크린샷 2026-03-10 오후 8.55.44.png&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #222222; text-align: start;&quot;&gt;page_likes 테이블은 다음과 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-10 오후 8.56.09.png&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;294&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dHuHlA/dJMcacbeEO4/kMKHRK5KLBaPPtahnBYPw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dHuHlA/dJMcacbeEO4/kMKHRK5KLBaPPtahnBYPw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dHuHlA/dJMcacbeEO4/kMKHRK5KLBaPPtahnBYPw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdHuHlA%2FdJMcacbeEO4%2FkMKHRK5KLBaPPtahnBYPw1%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;307&quot; height=&quot;145&quot; data-filename=&quot;스크린샷 2026-03-10 오후 8.56.09.png&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;294&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;2. 출력 예시&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-10 오후 8.56.39.png&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0CHTa/dJMcaa5yRpl/lAlaycG6oKk777LAyysMq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0CHTa/dJMcaa5yRpl/lAlaycG6oKk777LAyysMq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0CHTa/dJMcaa5yRpl/lAlaycG6oKk777LAyysMq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0CHTa%2FdJMcaa5yRpl%2FlAlaycG6oKk777LAyysMq1%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;292&quot; height=&quot;72&quot; data-filename=&quot;스크린샷 2026-03-10 오후 8.56.39.png&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;152&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;br /&gt;3. 문제 답안&lt;/p&gt;
&lt;pre id=&quot;code_1773143822616&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
  p.page_id
FROM pages p 
LEFT JOIN page_likes l
ON p.page_id = l.page_id
WHERE l.page_id IS NULL
ORDER BY page_id;&lt;/code&gt;&lt;/pre&gt;</description>
      <category> ️ 코딩테스트/SQL</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/150</guid>
      <comments>https://rtw0202.tistory.com/150#entry150comment</comments>
      <pubDate>Tue, 10 Mar 2026 20:57:10 +0900</pubDate>
    </item>
    <item>
      <title>[DataLemur] [LinkedIn] Data Science Skills</title>
      <link>https://rtw0202.tistory.com/149</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;1. 문제 설명&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;주어진&amp;nbsp;지원자&amp;nbsp;목록과&amp;nbsp;그들의&amp;nbsp;기술&amp;nbsp;정보를&amp;nbsp;바탕으로,&amp;nbsp;공석인&amp;nbsp;데이터&amp;nbsp;사이언스&amp;nbsp;직무에&amp;nbsp;가장&amp;nbsp;적합한&amp;nbsp;지원자를&amp;nbsp;찾아야&amp;nbsp;합니다.&amp;nbsp;특히&amp;nbsp;Python,&amp;nbsp;Tableau,&amp;nbsp;PostgreSQL에&amp;nbsp;능숙한&amp;nbsp;지원자를&amp;nbsp;찾고자&amp;nbsp;합니다.&amp;nbsp;모든&amp;nbsp;필수&amp;nbsp;기술을&amp;nbsp;보유한&amp;nbsp;지원자&amp;nbsp;목록을&amp;nbsp;생성하는&amp;nbsp;쿼리를&amp;nbsp;작성하고,&amp;nbsp;결과를&amp;nbsp;지원자&amp;nbsp;ID를&amp;nbsp;기준으로&amp;nbsp;오름차순으로&amp;nbsp;정렬하세요.&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;candidates 테이블은 다음과 같으며, 중복된 행은 없습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-10 오전 10.19.54.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1TiFr/dJMcahDz79t/2hi6XqXedGod3zrq9rPtB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1TiFr/dJMcahDz79t/2hi6XqXedGod3zrq9rPtB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1TiFr/dJMcahDz79t/2hi6XqXedGod3zrq9rPtB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1TiFr%2FdJMcahDz79t%2F2hi6XqXedGod3zrq9rPtB1%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;346&quot; height=&quot;125&quot; data-filename=&quot;스크린샷 2026-03-10 오전 10.19.54.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;2. 출력 예시&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-10 오전 10.20.21.png&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baaxZJ/dJMcajuCLOP/NKDVqykqUpBqH7PGPRkPy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baaxZJ/dJMcajuCLOP/NKDVqykqUpBqH7PGPRkPy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baaxZJ/dJMcajuCLOP/NKDVqykqUpBqH7PGPRkPy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaaxZJ%2FdJMcajuCLOP%2FNKDVqykqUpBqH7PGPRkPy1%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;294&quot; height=&quot;78&quot; data-filename=&quot;스크린샷 2026-03-10 오전 10.20.21.png&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;164&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;br /&gt;3. 문제 답안&lt;/p&gt;
&lt;pre id=&quot;code_1773105716969&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
  candidate_id
FROM candidates
WHERE skill IN ('Python', 'Tableau', 'PostgreSQL')
GROUP BY candidate_id
HAVING COUNT(DISTINCT skill) = 3
ORDER BY candidate_id ASC;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> ️ 코딩테스트/SQL</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/149</guid>
      <comments>https://rtw0202.tistory.com/149#entry149comment</comments>
      <pubDate>Tue, 10 Mar 2026 10:22:24 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] [SQL] 업그레이드 된 아이템 구하기</title>
      <link>https://rtw0202.tistory.com/148</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1. 문제 설명&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;어느 한 게임에서 사용되는 아이템들은 업그레이드가 가능합니다. 'ITEM_A'-&amp;gt;'ITEM_B'와 같이 업그레이드가 가능할 때 'ITEM_A'를 'ITEM_B' 의 PARENT 아이템, PARENT 아이템이 없는 아이템을 ROOT 아이템이라고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;예를 들어 'ITEM_A'-&amp;gt;'ITEM_B'-&amp;gt;'ITEM_C'와 같이 업그레이드가 가능한 아이템이 있다면 'ITEM_C'의 PARENT 아이템은 'ITEM_B'&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;'ITEM_B'의 PARENT 아이템은 'ITEM_A' ROOT 아이템은 'ITEM_A'가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;다음은 해당 게임에서 사용되는 아이템 정보를 담은&amp;nbsp;ITEM_INFO&amp;nbsp;테이블과 아이템 관계를 나타낸&amp;nbsp;ITEM_TREE&amp;nbsp;테이블입니다. ITEM_INFO&amp;nbsp;테이블은 다음과 같으며,&amp;nbsp;ITEM_ID,&amp;nbsp;ITEM_NAME,&amp;nbsp;RARITY,&amp;nbsp;PRICE는 각각 아이템 ID, 아이템 명, 아이템의 희귀도, 아이템의 가격을 나타냅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-09 오후 8.13.45.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q6i74/dJMcacI49l0/GTikqd2aG7iqLEHiVa9osk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q6i74/dJMcacI49l0/GTikqd2aG7iqLEHiVa9osk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q6i74/dJMcacI49l0/GTikqd2aG7iqLEHiVa9osk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq6i74%2FdJMcacI49l0%2FGTikqd2aG7iqLEHiVa9osk%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;296&quot; height=&quot;157&quot; data-filename=&quot;스크린샷 2026-03-09 오후 8.13.45.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ITEM_TREE&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;테이블은 다음과 같으며,&amp;nbsp;&lt;/span&gt;ITEM_ID&lt;span style=&quot;text-align: left;&quot;&gt;,&amp;nbsp;&lt;/span&gt;PARENT_ITEM_ID&lt;span style=&quot;text-align: left;&quot;&gt;는 각각 아이템 ID, PARENT 아이템의 ID를 나타냅니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-09 오후 8.14.08.png&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;228&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIb9j1/dJMcagLtEQo/1Rv0eiP6eLAUeDjCknk12k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIb9j1/dJMcagLtEQo/1Rv0eiP6eLAUeDjCknk12k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIb9j1/dJMcagLtEQo/1Rv0eiP6eLAUeDjCknk12k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIb9j1%2FdJMcagLtEQo%2F1Rv0eiP6eLAUeDjCknk12k%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;297&quot; height=&quot;100&quot; data-filename=&quot;스크린샷 2026-03-09 오후 8.14.08.png&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;228&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;단, 각 아이템들은 오직 하나의 PARENT 아이템 ID를 가지며, ROOT 아이템의 PARENT 아이템 ID는 NULL 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ROOT 아이템이 없는 경우는 존재하지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. 출력 예시&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-09 오후 8.14.47.png&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uf4kY/dJMcac3kI8o/NiweUsdKW9TMceNPA89291/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uf4kY/dJMcac3kI8o/NiweUsdKW9TMceNPA89291/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uf4kY/dJMcac3kI8o/NiweUsdKW9TMceNPA89291/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUf4kY%2FdJMcac3kI8o%2FNiweUsdKW9TMceNPA89291%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;238&quot; height=&quot;144&quot; data-filename=&quot;스크린샷 2026-03-09 오후 8.14.47.png&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3. 문제 답안&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1773054903934&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT
    t.item_id, # 업그레이드 가능한 아이템의 다음 아이템
    i.item_name,
    i.rarity
FROM item_info i
JOIN item_tree t
ON i.item_id = t.item_id
WHERE t.parent_item_id IN (SELECT # 업그레이드 가능
                             item_id
                           FROM item_info
                           WHERE rarity = 'RARE') # 희귀도가 RARE인 아이템의 id (0, 1, 3, 4)
ORDER BY t.item_id DESC;&lt;/code&gt;&lt;/pre&gt;</description>
      <category> ️ 코딩테스트/SQL</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/148</guid>
      <comments>https://rtw0202.tistory.com/148#entry148comment</comments>
      <pubDate>Mon, 9 Mar 2026 20:16:07 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] [SQL] 멸종위기의 대장균 찾기</title>
      <link>https://rtw0202.tistory.com/147</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1. 문제 설명&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;다음은 실험실에서 배양한 대장균들의 정보를 담은&amp;nbsp;&lt;/span&gt;ECOLI_DATA&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;테이블입니다.&amp;nbsp;&lt;/span&gt;ECOLI_DATA&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;테이블의 구조는 다음과 같으&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;며, I&lt;/span&gt;D&lt;span style=&quot;text-align: left;&quot;&gt;,&amp;nbsp;&lt;/span&gt;PARENT_ID&lt;span style=&quot;text-align: left;&quot;&gt;,&amp;nbsp;&lt;/span&gt;SIZE_OF_COLONY&lt;span style=&quot;text-align: left;&quot;&gt;,&amp;nbsp;&lt;/span&gt;DIFFERENTIATION_DATE&lt;span style=&quot;text-align: left;&quot;&gt;,&amp;nbsp;&lt;/span&gt;GENOTYPE&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;은 각각 대장균 개체의 ID, 부모 개체의 ID, 개체의 크기, 분화되어 나온 날짜, 개체의 형질을 나타냅니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-02-17 오전 11.37.30.png&quot; data-origin-width=&quot;790&quot; data-origin-height=&quot;434&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IRSnH/dJMcaflt6Jq/MUjYzRyffdLXfedHk7PAp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IRSnH/dJMcaflt6Jq/MUjYzRyffdLXfedHk7PAp0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IRSnH/dJMcaflt6Jq/MUjYzRyffdLXfedHk7PAp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIRSnH%2FdJMcaflt6Jq%2FMUjYzRyffdLXfedHk7PAp0%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;353&quot; height=&quot;194&quot; data-filename=&quot;스크린샷 2026-02-17 오전 11.37.30.png&quot; data-origin-width=&quot;790&quot; data-origin-height=&quot;434&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;최초의 대장균 개체의&amp;nbsp;&lt;/span&gt;PARENT_ID&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;는 NULL 값입니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;각 세대별 자식이 없는 개체의 수(&lt;/span&gt;COUNT&lt;span style=&quot;text-align: left;&quot;&gt;)와 세대(&lt;/span&gt;GENERATION&lt;span style=&quot;text-align: left;&quot;&gt;)를 출력하는 SQL문을 작성해주세요. 이때 결과는 세대에 대해 오름차순 정렬해주세요. 단, 모든 세대에는 자식이 없는 개체가 적어도 1개체는 존재합니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. 출력 예시&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-09 오후 7.38.58.png&quot; data-origin-width=&quot;436&quot; data-origin-height=&quot;368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdcU2o/dJMcaaEuSEO/BwfrENBgAv5AF6iFczAkX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdcU2o/dJMcaaEuSEO/BwfrENBgAv5AF6iFczAkX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdcU2o/dJMcaaEuSEO/BwfrENBgAv5AF6iFczAkX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdcU2o%2FdJMcaaEuSEO%2FBwfrENBgAv5AF6iFczAkX0%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;216&quot; height=&quot;182&quot; data-filename=&quot;스크린샷 2026-03-09 오후 7.38.58.png&quot; data-origin-width=&quot;436&quot; data-origin-height=&quot;368&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3. 문제 답안&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1773052757369&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;WITH RECURSIVE generation AS (
    SELECT
        e.id,
        e.parent_id,
        1 AS g
    FROM ecoli_data e
    WHERE parent_id IS NULL # 1세대
    
    UNION ALL
    
    SELECT
        e.id,
        e.parent_id,
        g.g + 1 AS g
    FROM generation g
    JOIN ecoli_data e
        ON e.parent_id = g.id
)

SELECT 
    COUNT(id) AS count,
    g AS generation
FROM generation
WHERE id NOT IN (SELECT # 부모가 아닌 개체 == 자식이 없는 개체
                    parent_id 
                 FROM ecoli_data 
                 WHERE parent_id IS NOT NULL)
GROUP BY generation
ORDER BY generation ASC;&lt;/code&gt;&lt;/pre&gt;</description>
      <category> ️ 코딩테스트/SQL</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/147</guid>
      <comments>https://rtw0202.tistory.com/147#entry147comment</comments>
      <pubDate>Mon, 9 Mar 2026 19:39:47 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스] [Python] 대충 만든 자판</title>
      <link>https://rtw0202.tistory.com/146</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1. 문제 설명&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;예를 들어, 1번 키에 &quot;A&quot;, &quot;B&quot;, &quot;C&quot; 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 &quot;A&quot;, 두 번 누르면 &quot;B&quot;, 세 번 누르면 &quot;C&quot;가 되는 식입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있습니다. 심지어 아예 할당되지 않은 경우도 있습니다. 따라서 몇몇 문자열은 작성할 수 없을 수도 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이 휴대폰 자판을 이용해 특정 문자열을 작성할 때, 키를 최소 몇 번 눌러야 그 문자열을 작성할 수 있는지 알아보고자 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1번 키부터 차례대로 할당된 문자들이 순서대로 담긴 문자열배열&amp;nbsp;keymap과 입력하려는 문자열들이 담긴 문자열 배열&amp;nbsp;targets가 주어질 때, 각 문자열을 작성하기 위해 키를 최소 몇 번씩 눌러야 하는지 순서대로 배열에 담아 return 하는 solution 함수를 완성해 주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;단, 목표 문자열을 작성할 수 없을 때는 -1을 저장합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;제한사항&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1 &amp;le;&amp;nbsp;keymap의 길이 &amp;le; 100&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1 &amp;le;&amp;nbsp;keymap의 원소의 길이 &amp;le; 100&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;keymap[i]는 i + 1번 키를 눌렀을 때 순서대로 바뀌는 문자를 의미합니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;예를 들어&amp;nbsp;keymap[0]&amp;nbsp;= &quot;ABACD&quot; 인 경우 1번 키를 한 번 누르면 A, 두 번 누르면 B, 세 번 누르면 A 가 됩니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;keymap의 원소의 길이는 서로 다를 수 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;keymap의 원소는 알파벳 대문자로만 이루어져 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1 &amp;le;&amp;nbsp;targets의 길이 &amp;le; 100&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1 &amp;le;&amp;nbsp;targets의 원소의 길이 &amp;le; 100&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit; color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;targets의 원소는 알파벳 대문자로만 이루어져 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. 출력 예시&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-03-09 오후 4.53.21.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;296&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ld8Am/dJMcaaxIFkt/TBgZA4o6Bhwsc3AoUENk5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ld8Am/dJMcaaxIFkt/TBgZA4o6Bhwsc3AoUENk5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ld8Am/dJMcaaxIFkt/TBgZA4o6Bhwsc3AoUENk5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fld8Am%2FdJMcaaxIFkt%2FTBgZA4o6Bhwsc3AoUENk5k%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;337&quot; height=&quot;127&quot; data-filename=&quot;스크린샷 2026-03-09 오후 4.53.21.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;296&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3. 문제 답안&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1773042819975&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(keymap, targets):

    answer = []
    
    for idx, target in enumerate(targets):
        final_cnts = [] # 최소값 담는 리스트
        is_possible = True  # target 생성 가능 여부
        
        for c, char in enumerate(target):
            cnts = [] # 한 문자당 키 누르는 횟수 비교를 위한 리스트
            cnt = 0 # 키 누르는 횟수
            
            for idx_k, keys in enumerate(keymap):
                for k, key in enumerate(keys):
                    if char == key: # char이 키맵에 존재
                        cnt = k+1
                        cnts.append(cnt)
                        
            if len(cnts) &amp;gt; 0 : # 하나라도 키맵에 있는 경우
                final_cnts.append(min(cnts))
            else: # 모든 키맵에 문자열이 없는 경우(후보군 X)
                is_possible = False
                break
                          
        if is_possible:
            answer.append(sum(final_cnts))
        else:
            answer.append(-1)
    
    return answer&lt;/code&gt;&lt;/pre&gt;</description>
      <category> ️ 코딩테스트/Python</category>
      <author>rtw0202</author>
      <guid isPermaLink="true">https://rtw0202.tistory.com/146</guid>
      <comments>https://rtw0202.tistory.com/146#entry146comment</comments>
      <pubDate>Mon, 9 Mar 2026 16:53:58 +0900</pubDate>
    </item>
  </channel>
</rss>