<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>데이터 분석 공부</title>
    <link>https://seo00.tistory.com/</link>
    <description>Data analysis</description>
    <language>ko</language>
    <pubDate>Sun, 5 Apr 2026 15:51:22 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>dori_0</managingEditor>
    <image>
      <title>데이터 분석 공부</title>
      <url>https://tistory1.daumcdn.net/tistory/5162518/attach/bffb193e0f4b4b05841b115315e64c83</url>
      <link>https://seo00.tistory.com</link>
    </image>
    <item>
      <title>[R] 콘크리트 내구성 예측 - 인공신경망</title>
      <link>https://seo00.tistory.com/70</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #456771;&quot;&gt;&lt;b&gt;콘크리트 내구성 예측&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;인공신경망&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/k5xr7/btrAaOda2Hu/lpoJTLaffiaOxWRMkvqrS0/whitewines.csv?attach=1&amp;amp;knm=tfile.csv&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/zmHYf/btrDU20Ge2b/XL8FIbtOw1gro93AAYTkTK/concrete.csv?attach=1&amp;amp;knm=tfile.csv&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;concrete.csv&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;콘크리트 압축 내구력에 대한 데이터&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1030개의 콘크리트 예제, 구성요소를 나타내는 8개의 속성으로 이루어져 있음&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;mount of cement 콘크리트의 총량, slag 슬래그, ahs 회분, water 물&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;superplasicizer 고성능감수제, coarse aggregate 굵은 골재&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;fine aggregate 잔골재, aging time 숙성 시간&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 id=&quot;SE-51030bd5-3d43-407a-aa58-86324c26a0ec&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 데이터 준비와 탐구&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1654255297326&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; concrete = read.csv(&quot;C:/R/concrete.csv&quot;, header=T)
&amp;gt; str(concrete)
'data.frame':	1030 obs. of  9 variables:
 $ cement      : num  141 169 250 266 155 ...
 $ slag        : num  212 42.2 0 114 183.4 ...
 $ ash         : num  0 124.3 95.7 0 0 ...
 $ water       : num  204 158 187 228 193 ...
 $ superplastic: num  0 10.8 5.5 0 9.1 0 0 6.4 0 9 ...
 $ coarseagg   : num  972 1081 957 932 1047 ...
 $ fineagg     : num  748 796 861 670 697 ...
 $ age         : int  28 14 28 28 28 90 7 56 28 28 ...
 $ strength    : num  29.9 23.5 29.2 45.9 18.3 ...&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;8개의 속성과 1개의 결과 변수(strength)로 구성되어 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신경망은 입력 데이터가 0을 중심으로 좁게 형성되어 있을 때 잘 작동한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 위해 데이터를 정규화 or 표준화를 실시해주어야 한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터가 정규분포를 따른다면 scale() 함수를 통해 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;표준화&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;데이터가 비정규성을 따른다면 0~1로 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;정규화&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cement 변수를 히스토그램으로 확인해보면 다음과 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1654255721187&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;hist(concrete$cement)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;397&quot; data-origin-height=&quot;467&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/212UM/btrDV0nwRZ0/ynHuQIiAhk06ZBau3JYbVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/212UM/btrDV0nwRZ0/ynHuQIiAhk06ZBau3JYbVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/212UM/btrDV0nwRZ0/ynHuQIiAhk06ZBau3JYbVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F212UM%2FbtrDV0nwRZ0%2FynHuQIiAhk06ZBau3JYbVk%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;350&quot; height=&quot;412&quot; data-origin-width=&quot;397&quot; data-origin-height=&quot;467&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;normalize 함수를 만들어 모든 열들을 정규화 해주자&lt;/p&gt;
&lt;pre id=&quot;code_1654255771442&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; # 정규화
&amp;gt; normalize = function(x){
+   return((x-min(x)) / (max(x)-min(x)))
+ }
&amp;gt; concrete_norm = as.data.frame(lapply(concrete, normalize))

&amp;gt; summary(concrete_norm$strength)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.2664  0.4001  0.4172  0.5457  1.0000&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;strength를 확인해보면 0~1로 정규화 된 것을 볼 수 있다.&lt;/li&gt;
&lt;li&gt;lapply() 함수를 사용해 데이터의 각 열에 normalize 함수를 적용했다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 train set와 test set을 3:1로 분리해주자&lt;/p&gt;
&lt;pre id=&quot;code_1654255830757&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# train set, test set 3:1로 분리
concrete_train = concrete_norm[1:773, ]
concrete_test = concrete_norm[774:1030, ]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;SE-51030bd5-3d43-407a-aa58-86324c26a0ec&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. 데이터로 모델 훈련&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;concrete_train 데이터를 이용하여 모델을 훈련해주자&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 하나의 은닉 뉴런을 가진 단순한 신경망을 만들어볼 것이다.&lt;/p&gt;
&lt;pre id=&quot;code_1654255927862&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; library(neuralnet)

&amp;gt; # 하나의 은닉 뉴런에 대한 단순한 ANN
&amp;gt; concrete_model = neuralnet(formula = strength ~ cement + slag +
+                              ash + water + superplastic +
+                              coarseagg + fineagg + age,
+                            data = concrete_train)
&amp;gt; # network 시각화
&amp;gt; plot(concrete_model)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;661&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdPIg4/btrDWUtkzX8/ClFDj9dup2FpGe4X0kghgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdPIg4/btrDWUtkzX8/ClFDj9dup2FpGe4X0kghgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdPIg4/btrDWUtkzX8/ClFDj9dup2FpGe4X0kghgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdPIg4%2FbtrDWUtkzX8%2FClFDj9dup2FpGe4X0kghgk%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;500&quot; height=&quot;555&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;661&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;plot(모델)을 이용하여 신경망을 시각화해볼 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;SE-51030bd5-3d43-407a-aa58-86324c26a0ec&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3. 모델 성능 평가&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 예제는 분류 문제가 아닌 수치 예측 문제이므로 모델의 정확도를 보기 위해 CrossTable을 사용할 수 없다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모델의 성능을 평가하기 위해서는 예측된 콘크리트의 강도와 실제 값 사이의 상관관계를 측정해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654256091918&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; # 모델 결과
&amp;gt; model_results = compute(concrete_model, concrete_test[, 1:8])

&amp;gt; # 강도값 예측
&amp;gt; predicted_strength = model_results$net.result

&amp;gt; # 예측값과 실제값의 상관 관계
&amp;gt; cor(predicted_strength, concrete_test$strength)
          [,1]
[1,] 0.8063074&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;compute(모델, 분석할 변수들) 함수를 사용해 test data에 대한 예측을 생성했다.&lt;/li&gt;
&lt;li&gt;그 값의 net.results로 예측값을 predicted_strength에 저장해주었다.&lt;/li&gt;
&lt;li&gt;예측값과 실제값의 상관계수를 cor을 통해 구하였다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;SE-51030bd5-3d43-407a-aa58-86324c26a0ec&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4. 모델 성능 향상 - 은닉 노드 수 늘리기&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;좀 더 복잡한 구성도를 가진 신경망은 어려운 개념을 학습하는 능력이 있다. (과적합의 위험도 있음)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번에는 모델 성능을 향상 시키기 위해 은닉 노드 수를 1개에서 5개로 늘려보자&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1654256253243&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; # 5개 은닉 뉴런인 복잡한 뉴런망
&amp;gt; concrete_model2 = neuralnet(formula = strength ~ cement + slag +
+                               ash + water + superplastic +
+                               coarseagg + fineagg + age,
+                             data = concrete_train, hidden = 5)

# network 시각화
&amp;gt; plot(concrete_model2)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;hidden = 5를 추가해주면 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;656&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k2Gu7/btrDUH3QtCE/TBO2ceqZ1V50klnxAVEiqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k2Gu7/btrDUH3QtCE/TBO2ceqZ1V50klnxAVEiqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k2Gu7/btrDUH3QtCE/TBO2ceqZ1V50klnxAVEiqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk2Gu7%2FbtrDUH3QtCE%2FTBO2ceqZ1V50klnxAVEiqk%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;500&quot; height=&quot;590&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;656&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위와 같이 모델의 성능을 평가해보면&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654256339441&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; # 성능 평가
&amp;gt; model_results2 = compute(concrete_model2, concrete_test[, 1:8])
&amp;gt; predicted_strength2 = model_results2$net.result
&amp;gt; cor(predicted_strength2, concrete_test$strength)
          [,1]
[1,] 0.9267753&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;은닉 노드 수를 늘리니 더 좋은 성능을 내는 것을 볼 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;SE-51030bd5-3d43-407a-aa58-86324c26a0ec&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;5. 인공 신경망의 장단점&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;b&gt;장점&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;b&gt;단점&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;1. 디지털 컴퓨터에 인간 두뇌의 신경 연결을 흉내내 인간의 능력과 컴퓨터의 능력 사이의 간격을 좁힘&lt;br /&gt;2. 인간들의 경험으로부터 학습하는 능력에 가까운 데이터 모방으로부터 일반화하고 학습하는 능력을 얻을 수 있음&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;1. 신경망의 훈련에 대한 결과는 신경망 내에 분포된 내부 가중치들이므로 사람의 사고과정을 설명하는 것과는 다르게 왜 그 대답이 유효한지에 대한 통찰을 제공하지 못함&lt;br /&gt;2. 우리의 두뇌만큼 내부 동작이 미지에 둘러싸인 블랙박스임&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>R/ML &amp;amp; DL 공부</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/70</guid>
      <comments>https://seo00.tistory.com/70#entry70comment</comments>
      <pubDate>Fri, 3 Jun 2022 20:44:09 +0900</pubDate>
    </item>
    <item>
      <title>[SQL] HackerRank - SQL Project Planning(M)</title>
      <link>https://seo00.tistory.com/69</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;&amp;nbsp; SQL Project Planning&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;figure id=&quot;og_1654241063370&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;SQL Project Planning | HackerRank&quot; data-og-description=&quot;Write a query to output the start and end dates of projects listed by the number of days it took to complete the project in ascending order.&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/challenges/sql-projects/problem?isFullScreen=true&quot; data-og-url=&quot;https://www.hackerrank.com/challenges/sql-projects/problem&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bD614H/hyOEmyzU3b/hXou7dqEHNJDgLRxzPxzU0/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/challenges/sql-projects/problem?isFullScreen=true&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.hackerrank.com/challenges/sql-projects/problem?isFullScreen=true&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bD614H/hyOEmyzU3b/hXou7dqEHNJDgLRxzPxzU0/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;SQL Project Planning | HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Write a query to output the start and end dates of projects listed by the number of days it took to complete the project in ascending order.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Problem&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;You are given a table,&lt;span&gt;&amp;nbsp;&lt;/span&gt;Projects, containing three columns:&lt;span&gt;&amp;nbsp;&lt;/span&gt;Task_ID,&lt;span&gt;&amp;nbsp;&lt;/span&gt;Start_Date&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;End_Date. It is guaranteed that the difference between the&lt;span&gt;&amp;nbsp;&lt;/span&gt;End_Date&lt;span&gt;&amp;nbsp;&lt;/span&gt;and the&lt;span&gt;&amp;nbsp;&lt;/span&gt;Start_Date&lt;span&gt;&amp;nbsp;&lt;/span&gt;is equal to&lt;span&gt;&amp;nbsp;&lt;/span&gt;1&lt;span&gt;&amp;nbsp;&lt;/span&gt;day for each row in the table.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;186&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kD1IG/btrDRbKAkyr/qYAedvb73O19dTUAlQKl11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kD1IG/btrDRbKAkyr/qYAedvb73O19dTUAlQKl11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kD1IG/btrDRbKAkyr/qYAedvb73O19dTUAlQKl11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkD1IG%2FbtrDRbKAkyr%2FqYAedvb73O19dTUAlQKl11%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;300&quot; height=&quot;174&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;186&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;If the&lt;span&gt;&amp;nbsp;&lt;/span&gt;End_Date&lt;span&gt;&amp;nbsp;&lt;/span&gt;of the tasks are consecutive, then they are part of the same project. Samantha is interested in finding the total number of different projects completed.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Write a query to output the start and&amp;nbsp;end dates of projects listed by the number of days it took to complete the project in ascending order. If there is more than one project that have the same number of completion days, then order by the start date of the project.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Sample Input&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;338&quot; data-origin-height=&quot;347&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPiOJR/btrDUUt1Z31/btnTbG0jfPPaEx7kfKml2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPiOJR/btrDUUt1Z31/btnTbG0jfPPaEx7kfKml2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPiOJR/btrDUUt1Z31/btnTbG0jfPPaEx7kfKml2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPiOJR%2FbtrDUUt1Z31%2FbtnTbG0jfPPaEx7kfKml2k%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;300&quot; height=&quot;308&quot; data-origin-width=&quot;338&quot; data-origin-height=&quot;347&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Sample Output&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;134&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyzjMF/btrDTjVSc1a/lOZ78yN9AlK6MSd9I8ML40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyzjMF/btrDTjVSc1a/lOZ78yN9AlK6MSd9I8ML40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyzjMF/btrDTjVSc1a/lOZ78yN9AlK6MSd9I8ML40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyzjMF%2FbtrDTjVSc1a%2FlOZ78yN9AlK6MSd9I8ML40%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;320&quot; height=&quot;134&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;134&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Explanation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;The example describes following&lt;span&gt;&amp;nbsp;&lt;/span&gt;four&lt;span&gt;&amp;nbsp;&lt;/span&gt;projects:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Project 1: Tasks&lt;span&gt;&amp;nbsp;&lt;/span&gt;1,&lt;span&gt;&amp;nbsp;&lt;/span&gt;2&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;3&lt;span&gt;&amp;nbsp;&lt;/span&gt;are completed on consecutive days, so these are part of the project. Thus start date of project is&lt;span&gt;&amp;nbsp;&lt;/span&gt;2015-10-01&lt;span&gt;&amp;nbsp;&lt;/span&gt;and end date is&lt;span&gt;&amp;nbsp;&lt;/span&gt;2015-10-04, so it took&lt;span&gt;&amp;nbsp;&lt;/span&gt;3 days&lt;span&gt;&amp;nbsp;&lt;/span&gt;to complete the project.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Project 2: Tasks&lt;span&gt;&amp;nbsp;&lt;/span&gt;4&amp;nbsp;and&amp;nbsp;5&amp;nbsp;are completed on consecutive days, so these are part of the project. Thus, the start date of project is&amp;nbsp;2015-10-13&amp;nbsp;and end date is&amp;nbsp;2015-10-15, so it took&amp;nbsp;2 days&amp;nbsp;to complete the project.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Project 3: Only task&lt;span&gt;&amp;nbsp;&lt;/span&gt;6&amp;nbsp;is part of the project. Thus, the start date of project is&amp;nbsp;2015-10-28&amp;nbsp;and end date is&amp;nbsp;2015-10-29, so it took&amp;nbsp;1 day&amp;nbsp;to complete the project.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Project 4: Only task 7 is part of the project. Thus, the start date of project is 2015-10-30 and end date is 2015-10-31, so it took 1 day to complete the project.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Answer&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;1) 한 프로젝트의 시작일, 마감일 출력하기 ( 날짜가 연속적이라면 모두 한 프로젝트 )&lt;br /&gt;2) 프로젝트 기간 순으로 정렬, 기간이 같다면 시작일 순으로 정렬하기&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 프로젝트 시작일과 마감일을 찾아보자&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;End_Date에 없는 Start_Date는 연속적이지 않고 개별적인 시작하는 프로젝트의 시작일이다.&lt;/li&gt;
&lt;li&gt;Start_Date에 없는 End_Date는 연속적이지 않고 개별적인 프로젝트의 마감일이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 조건을 만족하는 쿼리를 작성하여 FROM 절에 넣어주면 다음과 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1654241551712&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT *
  FROM (SELECT start_date
          FROM projects
         WHERE start_date NOT IN (SELECT end_date FROM projects)) AS s
     , (SELECT end_date
          FROM projects
         WHERE end_date NOT IN (SELECT start_date FROM projects)) AS e
 WHERE start_date &amp;lt; end_date
 ORDER BY start_date;&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;696&quot; data-origin-height=&quot;153&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zeR9o/btrDU4Xze2A/WsYqOPW0Ppr789UmkvduS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zeR9o/btrDU4Xze2A/WsYqOPW0Ppr789UmkvduS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zeR9o/btrDU4Xze2A/WsYqOPW0Ppr789UmkvduS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzeR9o%2FbtrDU4Xze2A%2FWsYqOPW0Ppr789UmkvduS1%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;696&quot; height=&quot;153&quot; data-origin-width=&quot;696&quot; data-origin-height=&quot;153&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 start_date는 end_date보다 빨라야 하므로 WHERE절에 조건을 넣어주어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1) 2015-10-01에 시작한 프로젝트의 마감일이 여러개가 나오는데 이 중 실제 마감일은 날짜가 가장 빠른 2015-10-05이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 마감일을 찾는 법은 start_date로 그룹화 한 뒤 end_date의 최솟값을 추출하는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2) 프로젝트 기간을 기준으로 정렬해야 하므로 DATEDIFF를 사용했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;background-color: #f6e199;&quot;&gt;DATEDIFF(날짜1, 날짜2) 가 의미하는 것은 날짜1 - 날짜2 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;기간 다음으로는 start_date를 정렬 조건으로 지정하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(3) 시작일, 마감일을 출력하기 위해 SELECT절에 지정해주었다.&lt;/p&gt;
&lt;pre id=&quot;code_1654241045149&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT start_date 
     , MIN(end_date)  -- (1)(3)
  FROM (SELECT start_date
          FROM projects
         WHERE start_date NOT IN (SELECT end_date FROM projects)) AS s
     , (SELECT end_date
          FROM projects
         WHERE end_date NOT IN (SELECT start_date FROM projects)) AS e
 WHERE start_date &amp;lt; end_date 
 GROUP BY start_date  -- (1)
 ORDER BY DATEDIFF(MIN(end_date), start_date), start_date;  -- (2)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MSsHe/btrDTSqhK61/lmkA4wsmfxRi4u7IyjDkF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MSsHe/btrDTSqhK61/lmkA4wsmfxRi4u7IyjDkF0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MSsHe/btrDTSqhK61/lmkA4wsmfxRi4u7IyjDkF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMSsHe%2FbtrDTSqhK61%2FlmkA4wsmfxRi4u7IyjDkF0%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;691&quot; height=&quot;224&quot; data-origin-width=&quot;691&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>SQL/SQL 문제</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/69</guid>
      <comments>https://seo00.tistory.com/69#entry69comment</comments>
      <pubDate>Fri, 3 Jun 2022 16:39:44 +0900</pubDate>
    </item>
    <item>
      <title>[SQL] HackerRank - Ollivander's Inventory(M)</title>
      <link>https://seo00.tistory.com/68</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;&amp;nbsp; Ollivander's Inventory&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;문제에 대한 자세한 내용은 다음 링크에서 확인하실 수 있습니다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1654238561101&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Ollivander's Inventory | HackerRank&quot; data-og-description=&quot;Help pick out Ron's new wand.&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/challenges/harry-potter-and-wands/problem?isFullScreen=true&quot; data-og-url=&quot;https://www.hackerrank.com/challenges/harry-potter-and-wands/problem&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/IPUHe/hyOEflTala/9CToll89mne9cKsRCf7if1/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/challenges/harry-potter-and-wands/problem?isFullScreen=true&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.hackerrank.com/challenges/harry-potter-and-wands/problem?isFullScreen=true&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/IPUHe/hyOEflTala/9CToll89mne9cKsRCf7if1/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Ollivander's Inventory | HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Help pick out Ron's new wand.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Problem&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Harry Potter and his friends are at Ollivander's with Ron, finally replacing Charlie's old broken wand.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Hermione decides the best way to choose is by determining the minimum number of gold galleons needed to buy each&lt;span&gt;&amp;nbsp;&lt;/span&gt;non-evil&lt;span&gt;&amp;nbsp;&lt;/span&gt;wand of high power and age. Write a query to print the&lt;span&gt;&amp;nbsp;&lt;/span&gt;id,&lt;span&gt;&amp;nbsp;&lt;/span&gt;age,&lt;span&gt;&amp;nbsp;&lt;/span&gt;coins_needed, and&lt;span&gt;&amp;nbsp;&lt;/span&gt;power&lt;span&gt;&amp;nbsp;&lt;/span&gt;of the wands that Ron's interested in, sorted in order of descending&lt;span&gt;&amp;nbsp;&lt;/span&gt;power. If more than one wand has same power, sort the result in order of descending&lt;span&gt;&amp;nbsp;&lt;/span&gt;age.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;The following tables contain data on the wands in Ollivander's inventory:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Wands:&lt;span&gt;&amp;nbsp;&lt;/span&gt;The&lt;span&gt;&amp;nbsp;&lt;/span&gt;id&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the id of the wand,&lt;span&gt;&amp;nbsp;&lt;/span&gt;code&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the code of the wand,&lt;span&gt;&amp;nbsp;&lt;/span&gt;coins_needed&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the total number of gold galleons needed to buy the wand, and&lt;span&gt;&amp;nbsp;&lt;/span&gt;power&lt;span&gt;&amp;nbsp;&lt;/span&gt;denotes the quality of the wand (the higher the power, the better the wand is).&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;200&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdj50I/btrDRW7m9Pn/u2KXkczJLzVw1u8CulEFpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdj50I/btrDRW7m9Pn/u2KXkczJLzVw1u8CulEFpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdj50I/btrDRW7m9Pn/u2KXkczJLzVw1u8CulEFpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdj50I%2FbtrDRW7m9Pn%2Fu2KXkczJLzVw1u8CulEFpK%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;200&quot; height=&quot;190&quot; data-origin-width=&quot;200&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Wands_Property:&lt;span&gt;&amp;nbsp;&lt;/span&gt;The&lt;span&gt;&amp;nbsp;&lt;/span&gt;code&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the code of the wand,&lt;span&gt;&amp;nbsp;&lt;/span&gt;age&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the age of the wand, and&lt;span&gt;&amp;nbsp;&lt;/span&gt;is_evil&lt;span&gt;&amp;nbsp;&lt;/span&gt;denotes whether the wand is good for the dark arts. If the value of&lt;span&gt;&amp;nbsp;&lt;/span&gt;is_evil&lt;span&gt;&amp;nbsp;&lt;/span&gt;is&lt;span&gt;&amp;nbsp;&lt;/span&gt;0, it means that the wand is not evil. The mapping between&lt;span&gt;&amp;nbsp;&lt;/span&gt;code&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;age&lt;span&gt;&amp;nbsp;&lt;/span&gt;is one-one, meaning that if there are two pairs,&lt;span&gt; (code1, age1)&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt; (code2, age2)&lt;/span&gt;&lt;span&gt;&lt;/span&gt;, then&lt;span&gt; code1 != code2&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt; age1 != age2&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;164&quot; data-origin-height=&quot;153&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HqM6O/btrDSyMi27x/8MzvkBBkK72WzDzf0abjAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HqM6O/btrDSyMi27x/8MzvkBBkK72WzDzf0abjAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HqM6O/btrDSyMi27x/8MzvkBBkK72WzDzf0abjAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHqM6O%2FbtrDSyMi27x%2F8MzvkBBkK72WzDzf0abjAK%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;164&quot; height=&quot;153&quot; data-origin-width=&quot;164&quot; data-origin-height=&quot;153&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Answer&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;1) id, age, coins_needed, power of the wands 출력하기&lt;br /&gt;2) age와 power가 같은 것이 여러개라면 그 중 coins_needed 값이 가장 작은 것을 출력하기&lt;br /&gt;3) is_evil 값이 0이어야 함&lt;br /&gt;3) power순으로 내림차순, power가 같다면 age순으로 내림차순 하기&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, age와 power별 coins_needed의 최솟값을 찾기 위한 쿼리는 다음과 같다&lt;/p&gt;
&lt;pre id=&quot;code_1654239142853&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT code, power, MIN(coins_needed) AS min_coins
  FROM wands
 GROUP BY code, power&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/U2Fup/btrDTiWRI1T/CYppNKycscWn20BiAQLKsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/U2Fup/btrDTiWRI1T/CYppNKycscWn20BiAQLKsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/U2Fup/btrDTiWRI1T/CYppNKycscWn20BiAQLKsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FU2Fup%2FbtrDTiWRI1T%2FCYppNKycscWn20BiAQLKsk%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;721&quot; height=&quot;123&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;code가 1이고 power가 1, 2, 6일때 coins_needed의 최솟값은 각각 2701, 4361, 3754이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1) 위의 쿼리를 FROM절에 넣고 wands, wands_property 테이블과 LEFT JOIN해주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;( 우리는 wands 테이블의 전체는 필요없고 위의 테이블에 해당하는 값만 필요하므로 LEFT JOIN을 해주었다. )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2) is_evil 값이 0이라는 조건과 power, age 순으로 내림차순 정렬하는 조건을 각각 WHERE, ORDER BY 절에 넣어주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(3) 마지막으로 &lt;span style=&quot;background-color: #fcfcfc; color: #000000;&quot;&gt;id, age, coins_needed, power of the wands를 출력하기 위해 SELECT절에 지정해주었다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654238545961&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT w.id
     , wp.age
     , a.min_coins
     , a.power   -- (3)
  FROM (SELECT code, power, MIN(coins_needed) AS min_coins
          FROM wands
         GROUP BY code, power) AS a
  LEFT JOIN wands AS w
         ON a.min_coins = w.coins_needed AND a.code = w.code
  LEFT JOIN wands_property AS wp
         ON a.code = wp.code   -- (1)
 WHERE wp.is_evil = 0
 ORDER BY a.power DESC, wp.age DESC;   -- (2)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;</description>
      <category>SQL/SQL 문제</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/68</guid>
      <comments>https://seo00.tistory.com/68#entry68comment</comments>
      <pubDate>Fri, 3 Jun 2022 15:57:59 +0900</pubDate>
    </item>
    <item>
      <title>[SQL] HackerRank - Challenges(M)</title>
      <link>https://seo00.tistory.com/67</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp;Challenges&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;figure id=&quot;og_1654084095684&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Challenges | HackerRank&quot; data-og-description=&quot;Print the total number of challenges created by hackers.&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/challenges/challenges/problem?isFullScreen=true&quot; data-og-url=&quot;https://www.hackerrank.com/challenges/challenges/problem&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/nKS6F/hyOCNXe1G2/lYg9Gmj91OKmkGvvZpEYJ1/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/challenges/challenges/problem?isFullScreen=true&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.hackerrank.com/challenges/challenges/problem?isFullScreen=true&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/nKS6F/hyOCNXe1G2/lYg9Gmj91OKmkGvvZpEYJ1/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Challenges | HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Print the total number of challenges created by hackers.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Problem&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Julia asked her students to create some coding challenges. Write a query to print the&lt;span&gt;&amp;nbsp;&lt;/span&gt;hacker_id,&lt;span&gt;&amp;nbsp;&lt;/span&gt;name, and the total number of challenges created by each student. Sort your results by the total number of challenges in descending order. If more than one student created the same number of challenges, then sort the result by&lt;span&gt;&amp;nbsp;&lt;/span&gt;hacker_id. If more than one student created the same number of challenges and the count is less than the maximum number of challenges created, then exclude those students from the result.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;The following tables contain challenge data:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;757&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CurcO/btrDFKMShpd/4sJJ5YkjQINk3HGWb9MM6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CurcO/btrDFKMShpd/4sJJ5YkjQINk3HGWb9MM6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CurcO/btrDFKMShpd/4sJJ5YkjQINk3HGWb9MM6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCurcO%2FbtrDFKMShpd%2F4sJJ5YkjQINk3HGWb9MM6K%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;700&quot; height=&quot;370&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;757&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Sample Input 0, 1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pZ1aL/btrDLWZahpT/71rnWgd5HT8vGQmi4tIrLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pZ1aL/btrDLWZahpT/71rnWgd5HT8vGQmi4tIrLK/img.png&quot; style=&quot;width: 49.2825%; margin-right: 10px;&quot; width=&quot;400&quot; height=&quot;480&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;794&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;49.86&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pZ1aL/btrDLWZahpT/71rnWgd5HT8vGQmi4tIrLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpZ1aL%2FbtrDLWZahpT%2F71rnWgd5HT8vGQmi4tIrLK%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;661&quot; height=&quot;794&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6clHa/btrDFJUPSsh/AxwXydpHHLs6Av1KI2OFp0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6clHa/btrDFJUPSsh/AxwXydpHHLs6Av1KI2OFp0/img.png&quot; style=&quot;width: 49.5547%;&quot; width=&quot;400&quot; height=&quot;478&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;798&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;50.14&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6clHa/btrDFJUPSsh/AxwXydpHHLs6Av1KI2OFp0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6clHa%2FbtrDFJUPSsh%2FAxwXydpHHLs6Av1KI2OFp0%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;668&quot; height=&quot;798&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Sample Output 0, 1&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;310&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clMUpY/btrDE88jmdG/aNXolqkwRxsNrD7fUfJk61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clMUpY/btrDE88jmdG/aNXolqkwRxsNrD7fUfJk61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clMUpY/btrDE88jmdG/aNXolqkwRxsNrD7fUfJk61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclMUpY%2FbtrDE88jmdG%2FaNXolqkwRxsNrD7fUfJk61%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;310&quot; height=&quot;118&quot; data-origin-width=&quot;310&quot; data-origin-height=&quot;118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;307&quot; data-origin-height=&quot;159&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xlsVz/btrDLWrjA3Q/G1kdg9WKPXQDabpR2UTby0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xlsVz/btrDLWrjA3Q/G1kdg9WKPXQDabpR2UTby0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xlsVz/btrDLWrjA3Q/G1kdg9WKPXQDabpR2UTby0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxlsVz%2FbtrDLWrjA3Q%2FG1kdg9WKPXQDabpR2UTby0%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;159&quot; data-origin-width=&quot;307&quot; data-origin-height=&quot;159&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;b&gt;&lt;/b&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Explanation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;For&lt;span&gt;&amp;nbsp;&lt;/span&gt;Sample Case 0, we can get the following details:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;331&quot; data-origin-height=&quot;225&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rRf0x/btrDGdafyOV/l70A6T7c9DcImHF0tAkFK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rRf0x/btrDGdafyOV/l70A6T7c9DcImHF0tAkFK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rRf0x/btrDGdafyOV/l70A6T7c9DcImHF0tAkFK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrRf0x%2FbtrDGdafyOV%2Fl70A6T7c9DcImHF0tAkFK1%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;331&quot; height=&quot;225&quot; data-origin-width=&quot;331&quot; data-origin-height=&quot;225&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;Students&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; 5077 &lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; 62743 &lt;/span&gt;both created&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; 4 &lt;/span&gt;challenges, but the maximum number of challenges created is&lt;span&gt; &lt;/span&gt;&lt;span&gt;6 &lt;/span&gt;so these students are excluded from the result.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;For&lt;span&gt;&amp;nbsp;&lt;/span&gt;Sample Case 1, we can get the following details:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;331&quot; data-origin-height=&quot;222&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Nl0Qx/btrDFKTHK4J/M4IwX8QNyQUFcUqIpK5360/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Nl0Qx/btrDFKTHK4J/M4IwX8QNyQUFcUqIpK5360/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Nl0Qx/btrDFKTHK4J/M4IwX8QNyQUFcUqIpK5360/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNl0Qx%2FbtrDFKTHK4J%2FM4IwX8QNyQUFcUqIpK5360%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;331&quot; height=&quot;222&quot; data-origin-width=&quot;331&quot; data-origin-height=&quot;222&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;br /&gt;Students&lt;span&gt; 12299&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt; 34856&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;both created&lt;span&gt; 6&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;challenges. Because&lt;span&gt; 6&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;is the maximum number of challenges created, these students are included in the result.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Answer&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1) hacker_id, name, total number of challenges 출력하기&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2) total number 순으로 내림차순, hacker_id 순으로 오름차순 정렬하기&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3) total number가 같은 학생이 2명 이상인데, 그 값이 total의 최댓값보다 작다면 출력에서 제외하기&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제는 서브쿼리를 사용해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3번을 만족하려면 total number는 다른 학생들과 중복되지 않는 고유값이거나 최댓값이어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이에 대해 단계별로 쿼리를 작성해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. challenges_created가 중복되지 않고 고유한 값인 경우&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, hacker_id로 그룹화해 학생별 challenges 수를 구해보면 다음과 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1654085415577&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT c.hacker_id, COUNT(*) AS total
  FROM challenges AS c
 GROUP BY c.hacker_id&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;819&quot; data-origin-height=&quot;181&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cslCHp/btrDKJy099d/IwzCkgLjNbC0HBnBRhLKk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cslCHp/btrDKJy099d/IwzCkgLjNbC0HBnBRhLKk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cslCHp/btrDKJy099d/IwzCkgLjNbC0HBnBRhLKk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcslCHp%2FbtrDKJy099d%2FIwzCkgLjNbC0HBnBRhLKk1%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;819&quot; height=&quot;181&quot; data-origin-width=&quot;819&quot; data-origin-height=&quot;181&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;아이디가 10, 91, 158, 1315인 학생은 모두 challenges 수가 2이고 최댓값이 아니므로 출력에서 제외돼야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고유값을 찾으려면 위의 쿼리를 다시 total을 기준으로 그룹화 후 COUNT한 값이 1이어야 한다.&lt;/p&gt;
&lt;pre id=&quot;code_1654085297227&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT A.total
  FROM (SELECT c.hacker_id, COUNT(*) AS total
          FROM challenges AS c
         GROUP BY c.hacker_id) AS A
 GROUP BY A.total
HAVING COUNT(*) = 1&lt;/code&gt;&lt;/pre&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;833&quot; data-origin-height=&quot;145&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMFoji/btrDMzJvooj/xT8g7geIKnusIKVQcsTRj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMFoji/btrDMzJvooj/xT8g7geIKnusIKVQcsTRj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMFoji/btrDMzJvooj/xT8g7geIKnusIKVQcsTRj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMFoji%2FbtrDMzJvooj%2FxT8g7geIKnusIKVQcsTRj1%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;833&quot; height=&quot;145&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;833&quot; data-origin-height=&quot;145&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;8, 9, 10 등의 total number of challenges는 모두 중복되지 않는고유한 값이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. challenges_created가 최댓값인 경우&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654085975024&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT MAX(B.total)
  FROM (SELECT c.hacker_id, COUNT(*) AS total
          FROM challenges AS c
         GROUP BY c.hacker_id) AS B&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서브쿼리는 위와 동일하고 이번에는 최댓값을 출력해야 하므로 SELECT절에 MAX()를 사용해주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이제 전체 쿼리를 작성해주자!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(1) Hackers, Challenges 테이블을 hacker_id 기준으로 LEFT JOIN 해주고 hacker_id와 name으로 그룹화하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(2) 출력해야하는 hacker_id, name, challenges_created를 SELECT절에 작성해주었는데&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 challenges_created는 위의 두 경우 중 한 가지에 해당해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 이 조건을 HAVING절에 추가해주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(3) 마지막으로 challenges_created 기준으로 내림차순 DESC, hacker_id 기준으로 오름차순 정렬을 해주었다.&lt;/p&gt;
&lt;/div&gt;
&lt;pre id=&quot;code_1654084084844&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT h.hacker_id
     , h.name
     , COUNT(*) AS challenges_created
  FROM challenges AS c
  LEFT JOIN hackers AS h ON c.hacker_id = h.hacker_id
 GROUP BY h.hacker_id, h.name  -- (1)
HAVING challenges_created IN (SELECT A.total
                                FROM (SELECT c.hacker_id, COUNT(*) AS total
                                        FROM challenges AS c
                                       GROUP BY c.hacker_id) AS A
                               GROUP BY A.total
                              HAVING COUNT(*) = 1)
    OR challenges_created = (SELECT MAX(B.total)
                               FROM (SELECT c.hacker_id, COUNT(*) AS total
                                       FROM challenges AS c
                                      GROUP BY c.hacker_id) AS B)  -- (2)
 ORDER BY challenges_created DESC, h.hacker_id;  -- (3)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;301&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zqns0/btrDZun6MBY/B3Z4g9ClZ52UfQKGcwkNr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zqns0/btrDZun6MBY/B3Z4g9ClZ52UfQKGcwkNr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zqns0/btrDZun6MBY/B3Z4g9ClZ52UfQKGcwkNr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fzqns0%2FbtrDZun6MBY%2FB3Z4g9ClZ52UfQKGcwkNr0%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;900&quot; height=&quot;301&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;301&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>SQL/SQL 문제</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/67</guid>
      <comments>https://seo00.tistory.com/67#entry67comment</comments>
      <pubDate>Wed, 1 Jun 2022 21:28:32 +0900</pubDate>
    </item>
    <item>
      <title>[SQL] HackerRank - Placements(M)</title>
      <link>https://seo00.tistory.com/66</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp;Placements&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;figure id=&quot;og_1654066232296&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Placements | HackerRank&quot; data-og-description=&quot;Write a query to output the names of those students whose best friends got offered a higher salary than them.&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true&quot; data-og-url=&quot;https://www.hackerrank.com/challenges/placements/problem&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bidIuU/hyOBGSRJ0U/o1neS4p1RcFDWVKtOs9j1k/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bidIuU/hyOBGSRJ0U/o1neS4p1RcFDWVKtOs9j1k/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Placements | HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Write a query to output the names of those students whose best friends got offered a higher salary than them.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Problem&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;You are given three&amp;nbsp;tables:&amp;nbsp;&lt;/span&gt;Students&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;,&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Friends&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;and&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Packages.&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&amp;nbsp;&lt;/span&gt;Students&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;contains two columns:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;ID&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&amp;nbsp;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Name&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Friends&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;contains two columns:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;ID&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Friend_ID&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(&lt;/span&gt;ID&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;of the ONLY best friend).&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Packages&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&amp;nbsp;contains two columns:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;ID&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Salary&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(offered salary in $&amp;nbsp;thousands&amp;nbsp;per month).&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;508&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bguccw/btrDHdm0aVa/1Pqs9AlfB6BKlB0zL5FKIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bguccw/btrDHdm0aVa/1Pqs9AlfB6BKlB0zL5FKIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bguccw/btrDHdm0aVa/1Pqs9AlfB6BKlB0zL5FKIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbguccw%2FbtrDHdm0aVa%2F1Pqs9AlfB6BKlB0zL5FKIk%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;300&quot; height=&quot;479&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;508&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Write a query to output the names of those students whose&amp;nbsp;best friends got offered a higher salary than them. Names must be ordered by the salary amount offered to the best friends. It is guaranteed that no two students got same salary offer.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDguBN/btrDGdOzDGT/wxerQ15MyoiUfGVaeQjER1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDguBN/btrDGdOzDGT/wxerQ15MyoiUfGVaeQjER1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDguBN/btrDGdOzDGT/wxerQ15MyoiUfGVaeQjER1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDguBN%2FbtrDGdOzDGT%2FwxerQ15MyoiUfGVaeQjER1%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;753&quot; height=&quot;733&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;733&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Explanation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;See the following table:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;520&quot; data-origin-height=&quot;228&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/N81mo/btrDGdA4xQS/eL1H754Uq322XJkYlmaBB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/N81mo/btrDGdA4xQS/eL1H754Uq322XJkYlmaBB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/N81mo/btrDGdA4xQS/eL1H754Uq322XJkYlmaBB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FN81mo%2FbtrDGdA4xQS%2FeL1H754Uq322XJkYlmaBB1%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;520&quot; height=&quot;228&quot; data-origin-width=&quot;520&quot; data-origin-height=&quot;228&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;Now,&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Samantha's&lt;span&gt;&amp;nbsp;&lt;/span&gt;best friend got offered a higher salary than her at 11.55&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Julia's&lt;span&gt;&amp;nbsp;&lt;/span&gt;best friend got offered a higher salary than her at 12.12&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Scarlet's&lt;span&gt;&amp;nbsp;&lt;/span&gt;best friend got offered a higher salary than her at 15.2&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Ashley's&lt;span&gt;&amp;nbsp;&lt;/span&gt;best friend did NOT get offered a higher salary than her&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;The name output, when ordered by the salary offered to their friends, will be:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Samantha&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Julia&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;* Scarlet&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Answer&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;1) 자신보다 친구의 salary가 더 많은 학생들의 이름 출력하기&lt;br /&gt;2) 친구의 salary 기준으로 정렬하기&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, 세 테이블을 JOIN 해주어야 한다.&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;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. Students와 Packages 테이블을 ID 기준으로 JOIN해 각 학생의 이름과 Salary를 볼 수 있도록 하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. Students와 Friends 테이블을 ID 기준으로 JOIN해 기존 테이블에 각 학생의 친구 컬럼을 추가해주었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 마지막으로 친구들의 Salary 컬럼을 추가하기 위하여 Friends 테이블의 Friend_id와 Packages 테이블의 ID를 기준으로 JOIN해주었다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;pre id=&quot;code_1654067451227&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT *
  FROM students AS s
 INNER JOIN packages AS p 
         ON s.id = p.id
 INNER JOIN friends AS f 
         ON s.id = f.id
 INNER JOIN packages AS p2 
         ON f.friend_id = p2.id;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;학생의 Salary보다 친구의 Salary가 높은 학생을 추출하기 위해 WHERE절에 조건을 추가했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;친구의 Salary (p2.salary)를 기준으로 정렬하기 위해 ORDER BY에 추가해주었다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1654067459084&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT s.name
  FROM students AS s
 INNER JOIN packages AS p 
         ON s.id = p.id
 INNER JOIN friends AS f 
         ON s.id = f.id
 INNER JOIN packages AS p2 
         ON f.friend_id = p2.id
 WHERE p.salary &amp;lt; p2.salary
 ORDER BY p2.salary;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;최종 출력은 학생의 이름이므로 SELECT에 s.name을 적어주었다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>SQL/SQL 문제</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/66</guid>
      <comments>https://seo00.tistory.com/66#entry66comment</comments>
      <pubDate>Wed, 1 Jun 2022 16:16:35 +0900</pubDate>
    </item>
    <item>
      <title>[SQL] HackerRank - The Report(M)</title>
      <link>https://seo00.tistory.com/65</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;&amp;nbsp; The Report&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;figure id=&quot;og_1654064604396&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;The Report | HackerRank&quot; data-og-description=&quot;Write a query to generate a report containing three columns: Name, Grade and Mark.&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/challenges/the-report/problem?isFullScreen=true&quot; data-og-url=&quot;https://www.hackerrank.com/challenges/the-report/problem&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bEgTa2/hyOCLZl92u/qC6RujDFPVpwL9FUTeeKk1/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/challenges/the-report/problem?isFullScreen=true&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.hackerrank.com/challenges/the-report/problem?isFullScreen=true&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bEgTa2/hyOCLZl92u/qC6RujDFPVpwL9FUTeeKk1/img.jpg?width=1200&amp;amp;height=640&amp;amp;face=706_91_833_229');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;The Report | HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Write a query to generate a report containing three columns: Name, Grade and Mark.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Problem&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;You are given two tables:&amp;nbsp;&lt;/span&gt;Students&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&amp;nbsp;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Grades&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;.&amp;nbsp;&lt;/span&gt;Students&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&amp;nbsp;contains three columns&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;ID&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Name&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Marks&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;319&quot; data-origin-height=&quot;181&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctlQvB/btrDJu9CX9k/VJuwfEkWBbJ6xIEZQMql00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctlQvB/btrDJu9CX9k/VJuwfEkWBbJ6xIEZQMql00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctlQvB/btrDJu9CX9k/VJuwfEkWBbJ6xIEZQMql00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctlQvB%2FbtrDJu9CX9k%2FVJuwfEkWBbJ6xIEZQMql00%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;319&quot; height=&quot;181&quot; data-origin-width=&quot;319&quot; data-origin-height=&quot;181&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Grades&lt;span style=&quot;background-color: #ffffff; color: #576871;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;contains the following data:&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;315&quot; data-origin-height=&quot;469&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ll512/btrDHezsuZO/keAU0cQxY4leZhgk1GBZDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ll512/btrDHezsuZO/keAU0cQxY4leZhgk1GBZDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ll512/btrDHezsuZO/keAU0cQxY4leZhgk1GBZDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fll512%2FbtrDHezsuZO%2FkeAU0cQxY4leZhgk1GBZDK%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;315&quot; height=&quot;469&quot; data-origin-width=&quot;315&quot; data-origin-height=&quot;469&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;Ketty&lt;span&gt;&amp;nbsp;&lt;/span&gt;gives&lt;span&gt;&amp;nbsp;&lt;/span&gt;Eve&lt;span&gt;&amp;nbsp;&lt;/span&gt;a task to generate a report containing three columns:&lt;span&gt;&amp;nbsp;&lt;/span&gt;Name,&lt;span&gt;&amp;nbsp;&lt;/span&gt;Grade&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;Mark.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Ketty&lt;span&gt;&amp;nbsp;&lt;/span&gt;doesn't want the NAMES of those students who received a grade lower than&lt;span&gt;&amp;nbsp;&lt;/span&gt;8. The report must be in descending order by grade -- i.e. higher grades are entered first. If there is more than one student with the same grade (8-10) assigned to them, order those particular students by their name alphabetically. Finally, if the grade is lower than 8, use &quot;NULL&quot; as their name and list them by their grades in descending order. If there is more than one student with the same grade (1-7) assigned to them, order those particular students by their marks in ascending order.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Write a query to help Eve.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Sample Input&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;307&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0q9dI/btrDGJ7w0o0/V2cW87yoCnArnHwWPcYMhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0q9dI/btrDGJ7w0o0/V2cW87yoCnArnHwWPcYMhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0q9dI/btrDGJ7w0o0/V2cW87yoCnArnHwWPcYMhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0q9dI%2FbtrDGJ7w0o0%2FV2cW87yoCnArnHwWPcYMhk%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;318&quot; height=&quot;307&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;307&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Sample Output&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;328&quot; data-origin-height=&quot;174&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xDOmz/btrDJwGpCx1/KXhNJ0xyZDS6LR0LEQmqKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xDOmz/btrDJwGpCx1/KXhNJ0xyZDS6LR0LEQmqKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xDOmz/btrDJwGpCx1/KXhNJ0xyZDS6LR0LEQmqKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxDOmz%2FbtrDJwGpCx1%2FKXhNJ0xyZDS6LR0LEQmqKK%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;328&quot; height=&quot;174&quot; data-origin-width=&quot;328&quot; data-origin-height=&quot;174&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Note&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Print &quot;NULL&quot;&amp;nbsp; as the name if the grade is less than 8.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Explanation&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;Consider the following table with the grades assigned to the students:&lt;/p&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;317&quot; data-origin-height=&quot;305&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dCRO83/btrDEQNjtwb/vZPheKvkJzdSkuqREkMIXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dCRO83/btrDEQNjtwb/vZPheKvkJzdSkuqREkMIXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dCRO83/btrDEQNjtwb/vZPheKvkJzdSkuqREkMIXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCRO83%2FbtrDEQNjtwb%2FvZPheKvkJzdSkuqREkMIXK%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;317&quot; height=&quot;305&quot; data-origin-width=&quot;317&quot; data-origin-height=&quot;305&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size14&quot;&gt;So, the following students got&lt;span&gt;&amp;nbsp;&lt;/span&gt;8,&lt;span&gt;&amp;nbsp;&lt;/span&gt;9&lt;span&gt;&amp;nbsp;&lt;/span&gt;or&lt;span&gt;&amp;nbsp;&lt;/span&gt;10&lt;span&gt;&amp;nbsp;&lt;/span&gt;grades:&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;* Maria (grade 10)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;* Jane (grade 9)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;* Julia (grade 9)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;* Scarlet (grade 8)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;# Answer&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1) grade를 기준으로 내림차순 하기&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2) 같은 grade의 학생이 있다면, 학생의 이름순으로 정렬하기&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3) grade가 8 미만인 학생들의 이름은 &quot;NULL&quot;로 출력하고 grade 순으로 내림차순 하기&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333;&quot;&gt;4) grade가 8 미만인 학생들 중 같은 grade인 학생이 2명 이상이라면 marks 순으로 오름차순 하기&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 두 테이블을 JOIN 해주어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Students 테이블의 Garks 값이 grades 테이블의 Min_mark, Max_mark 사이에 있어야 하므로&lt;/p&gt;
&lt;pre id=&quot;code_1654065559387&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT *
  FROM students AS s
 INNER JOIN grades AS g 
         ON s.marks BETWEEN g.min_mark AND g.max_mark&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이 BETWEEN을 사용하여 JOIN 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정렬 조건을 보면 1. grade 내림차순&amp;nbsp; 2. 학생의 이름순&amp;nbsp; 3. mark 오름차순 이므로 ORDER BY에 조건을 추가해주자&lt;/p&gt;
&lt;pre id=&quot;code_1654065658591&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT *
  FROM students AS s
 INNER JOIN grades AS g 
         ON s.marks BETWEEN g.min_mark AND g.max_mark
 ORDER BY g.grade DESC, s.name, s.marks;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로 grade가 8 미만인 학생의 이름은 &quot;NULL&quot;로 출력해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IF절을 사용하여 marks가 69이하이면 NULL 그렇지 않으면 이름을 출력하도록 적어주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 뒤로는 grade, marks를 출력해주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[ 최종 답 ]&lt;/p&gt;
&lt;pre id=&quot;code_1654064576744&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT IF(s.marks &amp;lt;= 69, NULL, s.name)
     , g.grade
     , s.marks
  FROM students AS s
 INNER JOIN grades AS g 
         ON s.marks BETWEEN g.min_mark AND g.max_mark
 ORDER BY g.grade DESC, s.name, s.marks;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>SQL/SQL 문제</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/65</guid>
      <comments>https://seo00.tistory.com/65#entry65comment</comments>
      <pubDate>Wed, 1 Jun 2022 15:43:57 +0900</pubDate>
    </item>
    <item>
      <title>[SQL] HackerRank - Blunder, Census, African, 75 Marks(E)</title>
      <link>https://seo00.tistory.com/64</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. The Blunder&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Population Census&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. African Cities&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Higher Than 75 Marks&lt;/p&gt;
&lt;figure id=&quot;og_1652967796864&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;HackerRank&quot; data-og-description=&quot;HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/&quot; data-og-url=&quot;https://www.hackerrank.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ww92a/hyOpCXu0wY/uoRBfQrApNFpd7ADCMyRAK/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312,https://scrap.kakaocdn.net/dn/PRTDU/hyOrqnB48k/uhhXniAtDVKcRvAb0qzzA1/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/&quot; data-source-url=&quot;https://www.hackerrank.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ww92a/hyOpCXu0wY/uoRBfQrApNFpd7ADCMyRAK/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312,https://scrap.kakaocdn.net/dn/PRTDU/hyOrqnB48k/uhhXniAtDVKcRvAb0qzzA1/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;1. The Blunder&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MFnzd/btrCCsr2g81/97xoV0Kq0g0EghkSAvVgJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MFnzd/btrCCsr2g81/97xoV0Kq0g0EghkSAvVgJ0/img.png&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;568&quot; data-is-animation=&quot;false&quot; width=&quot;600&quot; height=&quot;450&quot; data-widthpercent=&quot;60.47&quot; style=&quot;width: 59.7654%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MFnzd/btrCCsr2g81/97xoV0Kq0g0EghkSAvVgJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMFnzd%2FbtrCCsr2g81%2F97xoV0Kq0g0EghkSAvVgJ0%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;758&quot; height=&quot;568&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcR6qg/btrCDJGYJEo/r2FCKDL2clOl1MzFt0OlOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcR6qg/btrCDJGYJEo/r2FCKDL2clOl1MzFt0OlOk/img.png&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;878&quot; data-is-animation=&quot;false&quot; width=&quot;600&quot; height=&quot;688&quot; data-widthpercent=&quot;39.53&quot; style=&quot;width: 39.0718%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcR6qg/btrCDJGYJEo/r2FCKDL2clOl1MzFt0OlOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcR6qg%2FbtrCDJGYJEo%2Fr2FCKDL2clOl1MzFt0OlOk%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;766&quot; height=&quot;878&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 1) salary 값의 평균에서 잘못 계산한 salary의 평균 빼기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 2) 올림으로 계산하기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652967796867&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT CEIL(AVG(salary) - AVG(REGEXP_REPLACE(salary, '[0]', '')))
  FROM employees;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;잘못 계산한 salary를 구하기 위해 REGEXP_REPLACE를 사용하였다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;salary의 0을 없는 것처럼 처리해주기&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;CEIL을 이용해 올림으로 계산하였다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd; color: #000000;&quot;&gt;&lt;b&gt;2. Population Census&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btxbdz/btrCBp4e3Dn/DtBBAmcNc8UXFnT2nsbHv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btxbdz/btrCBp4e3Dn/DtBBAmcNc8UXFnT2nsbHv1/img.png&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;509&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.8775%; margin-right: 10px;&quot; data-widthpercent=&quot;55.52&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btxbdz/btrCBp4e3Dn/DtBBAmcNc8UXFnT2nsbHv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbtxbdz%2FbtrCBp4e3Dn%2FDtBBAmcNc8UXFnT2nsbHv1%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;720&quot; height=&quot;509&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lrBJy/btrCyvwLNj4/4KDm5fv35dkpWuhDX5tPCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lrBJy/btrCyvwLNj4/4KDm5fv35dkpWuhDX5tPCK/img.png&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;616&quot; data-is-animation=&quot;false&quot; style=&quot;width: 43.9597%;&quot; data-widthpercent=&quot;44.48&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lrBJy/btrCyvwLNj4/4KDm5fv35dkpWuhDX5tPCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlrBJy%2FbtrCyvwLNj4%2F4KDm5fv35dkpWuhDX5tPCK%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;698&quot; height=&quot;616&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 1) city 테이블과 country 테이블 JOIN하기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 2) country 테이블의 continent가 'Asia'라는 조건 달아주기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 3) city 테이블의 population 합계 추출하기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652968776444&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT SUM(city.population)
  FROM city
 INNER JOIN country
         ON city.countrycode = country.code
 WHERE country.continent = 'Asia';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;city의 countrycode와 country의 code를 기준으로 두 테이블을 INNER JOIN 해주었다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;WHERE절에 continent가 'Asia'라는 조건을 달아주었다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd; color: #000000;&quot;&gt;&lt;b&gt;3. African Cities&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Drt92/btrCCtLgaVJ/RCjGSlgQL2kOkNfWCV9PMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Drt92/btrCCtLgaVJ/RCjGSlgQL2kOkNfWCV9PMK/img.png&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;482&quot; data-is-animation=&quot;false&quot; style=&quot;width: 58.6341%; margin-right: 10px;&quot; data-widthpercent=&quot;59.32&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Drt92/btrCCtLgaVJ/RCjGSlgQL2kOkNfWCV9PMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDrt92%2FbtrCCtLgaVJ%2FRCjGSlgQL2kOkNfWCV9PMK%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;711&quot; height=&quot;482&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkoCZU/btrCCgMjpFE/MXStc94O6sYAL0VDuPvOW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkoCZU/btrCCgMjpFE/MXStc94O6sYAL0VDuPvOW1/img.png&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;613&quot; data-is-animation=&quot;false&quot; style=&quot;width: 40.2031%;&quot; data-widthpercent=&quot;40.68&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkoCZU/btrCCgMjpFE/MXStc94O6sYAL0VDuPvOW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkoCZU%2FbtrCCgMjpFE%2FMXStc94O6sYAL0VDuPvOW1%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;620&quot; height=&quot;613&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 1) city 테이블과 country 테이블 JOIN하기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 2) country 테이블의 continent가 'Africa'라는 조건 달아주기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 3) city 테이블의 name 추출하기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652969195417&quot; class=&quot;r&quot; data-ke-language=&quot;r&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT city.name
  FROM city
 INNER JOIN country
         ON city.countrycode = country.code
 WHERE country.continent = 'Africa';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;city의 countrycode와 country의 code를 기준으로 두 테이블을 INNER JOIN 해주었다&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;WHERE 절에 continent가 'Africa'라는 조건을 달아주었다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd; color: #000000;&quot;&gt;&lt;b&gt;4. Higher Than 75 Marks&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/br70lN/btrCE18coz7/aDjIKlL0uUcYr5Y3SiIZP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/br70lN/btrCE18coz7/aDjIKlL0uUcYr5Y3SiIZP0/img.png&quot; data-origin-width=&quot;688&quot; data-origin-height=&quot;406&quot; data-is-animation=&quot;false&quot; style=&quot;width: 58.679%; margin-right: 10px;&quot; data-widthpercent=&quot;59.37&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/br70lN/btrCE18coz7/aDjIKlL0uUcYr5Y3SiIZP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbr70lN%2FbtrCE18coz7%2FaDjIKlL0uUcYr5Y3SiIZP0%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;688&quot; height=&quot;406&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yruVJ/btrCE1AmBmN/5gzhKHfZdtOXpxGOzbhq9k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yruVJ/btrCE1AmBmN/5gzhKHfZdtOXpxGOzbhq9k/img.png&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;576&quot; data-is-animation=&quot;false&quot; style=&quot;width: 40.1582%;&quot; data-widthpercent=&quot;40.63&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yruVJ/btrCE1AmBmN/5gzhKHfZdtOXpxGOzbhq9k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyruVJ%2FbtrCE1AmBmN%2F5gzhKHfZdtOXpxGOzbhq9k%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;668&quot; height=&quot;576&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 1) marks가 75보다 커야한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;조건 2) 이름의 마지막 3글자를 기준으로 정렬 해주어야 한다. 만약 이름이 같다면 ID를 기준으로 오름차순 해야한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652969567531&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT name
  FROM students
 WHERE marks &amp;gt; 75
 ORDER BY RIGHT(name, 3), id ASC;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;marks가 75보다 크다는 조건을 WHERE절에 적었다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;RIGHT 함수를 이용해 name의 오른쪽 3글자만 추출해 정렬 조건에 넣어 주었다. 그 다음 조건으로는 id를 추가했다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>SQL/SQL 문제</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/64</guid>
      <comments>https://seo00.tistory.com/64#entry64comment</comments>
      <pubDate>Thu, 19 May 2022 23:14:53 +0900</pubDate>
    </item>
    <item>
      <title>[SQL] HackerRank - Employee, Revising 5문제(E)</title>
      <link>https://seo00.tistory.com/63</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. Employee Names&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Employee Salaries&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Revising Aggregations - The Sum Function&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Revising Aggregations - The Count Function&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Revising Aggregations - Averages&lt;/p&gt;
&lt;figure id=&quot;og_1652713209918&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;HackerRank&quot; data-og-description=&quot;HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/&quot; data-og-url=&quot;https://www.hackerrank.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ww92a/hyOpCXu0wY/uoRBfQrApNFpd7ADCMyRAK/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312,https://scrap.kakaocdn.net/dn/PRTDU/hyOrqnB48k/uhhXniAtDVKcRvAb0qzzA1/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/&quot; data-source-url=&quot;https://www.hackerrank.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ww92a/hyOpCXu0wY/uoRBfQrApNFpd7ADCMyRAK/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312,https://scrap.kakaocdn.net/dn/PRTDU/hyOrqnB48k/uhhXniAtDVKcRvAb0qzzA1/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;1. Employee Names&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;862&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bql7OK/btrCld9nPWT/T3hFkStkD0p2iRGJDoH511/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bql7OK/btrCld9nPWT/T3hFkStkD0p2iRGJDoH511/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bql7OK/btrCld9nPWT/T3hFkStkD0p2iRGJDoH511/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbql7OK%2FbtrCld9nPWT%2FT3hFkStkD0p2iRGJDoH511%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;600&quot; height=&quot;633&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;862&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dhw3YK/btrCivpCsAU/Sfa77TQMiLNJM8u4TGuYmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dhw3YK/btrCivpCsAU/Sfa77TQMiLNJM8u4TGuYmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dhw3YK/btrCivpCsAU/Sfa77TQMiLNJM8u4TGuYmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdhw3YK%2FbtrCivpCsAU%2FSfa77TQMiLNJM8u4TGuYmK%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;600&quot; height=&quot;209&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652713209921&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT name
  FROM employee
 ORDER BY name;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;name의 알파벳 순서로 정렬하기 위해 ORDER BY name을 써주었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;2. Employee Salaries&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;881&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1KQaC/btrCmemNydw/qoN3wK23xivDN2J8VfvfV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1KQaC/btrCmemNydw/qoN3wK23xivDN2J8VfvfV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1KQaC/btrCmemNydw/qoN3wK23xivDN2J8VfvfV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1KQaC%2FbtrCmemNydw%2FqoN3wK23xivDN2J8VfvfV0%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;650&quot; height=&quot;667&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;881&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOA75u/btrCiasXnVy/qoQ9kVZU52bMgAD7Kb0OXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOA75u/btrCiasXnVy/qoQ9kVZU52bMgAD7Kb0OXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOA75u/btrCiasXnVy/qoQ9kVZU52bMgAD7Kb0OXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOA75u%2FbtrCiasXnVy%2FqoQ9kVZU52bMgAD7Kb0OXk%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;650&quot; height=&quot;277&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;368&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건 1) employee names 열 출력하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건 2) salary가 2000 초과이면서 months는 10 미만인 사람&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건 3) employee_id 오름차순으로 정렬하기&lt;/p&gt;
&lt;pre id=&quot;code_1652713484921&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT name  -- 조건 1
  FROM employee
 WHERE salary &amp;gt; 2000 AND months &amp;lt; 10  -- 조건 2
 ORDER BY employee_id;  -- 조건 3&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ORDER BY는 디폴트 값이 ASC (오름차순), 내림차순을 원할때는 뒤에 DESC를 적어주면 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;3. &lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;Revising Aggregations - The Sum Function&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;498&quot; data-origin-height=&quot;445&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/exZ6ad/btrCiRmnjnr/RRxJd0sXUMlif5HPmN9BEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/exZ6ad/btrCiRmnjnr/RRxJd0sXUMlif5HPmN9BEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/exZ6ad/btrCiRmnjnr/RRxJd0sXUMlif5HPmN9BEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FexZ6ad%2FbtrCiRmnjnr%2FRRxJd0sXUMlif5HPmN9BEK%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;498&quot; height=&quot;445&quot; data-origin-width=&quot;498&quot; data-origin-height=&quot;445&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652714135012&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT SUM(population)
  FROM city
 WHERE district = 'California';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;city 테이블에서 population의 합계를 추출했다.&lt;/li&gt;
&lt;li&gt;district가 'California'인 조건을 WHERE 절에 추가했다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;4.&amp;nbsp;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;Revising Aggregations - &lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;The Count Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;592&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uDUX2/btrCkfmtrrA/o2qyHAISaEtRLuNsxaKDMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uDUX2/btrCkfmtrrA/o2qyHAISaEtRLuNsxaKDMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uDUX2/btrCkfmtrrA/o2qyHAISaEtRLuNsxaKDMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuDUX2%2FbtrCkfmtrrA%2Fo2qyHAISaEtRLuNsxaKDMK%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;592&quot; height=&quot;444&quot; data-origin-width=&quot;592&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652714237055&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT COUNT(countrycode)
  FROM city
 WHERE population &amp;gt; 100000;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;population이 100000보다 크다는 조건을 WHERE절에 넣어주고 countrycode의 개수를 셌다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;5.&amp;nbsp;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;Revising Aggregations - &lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;Averages&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;522&quot; data-origin-height=&quot;441&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXNa3G/btrCasAkgE0/uo8iiY3cJjcAVhFJaqmJy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXNa3G/btrCasAkgE0/uo8iiY3cJjcAVhFJaqmJy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXNa3G/btrCasAkgE0/uo8iiY3cJjcAVhFJaqmJy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXNa3G%2FbtrCasAkgE0%2Fuo8iiY3cJjcAVhFJaqmJy1%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;522&quot; height=&quot;441&quot; data-origin-width=&quot;522&quot; data-origin-height=&quot;441&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652714351418&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT AVG(population)
  FROM city
 WHERE district = 'California';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;district가 'California'라는 조건을 넣고 population의 평균 (AVG)을 추출했다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>SQL/SQL 문제</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/63</guid>
      <comments>https://seo00.tistory.com/63#entry63comment</comments>
      <pubDate>Tue, 17 May 2022 00:19:45 +0900</pubDate>
    </item>
    <item>
      <title>[SQL] HackerRank - Revising, Select, Population, Japan 9문제(E)</title>
      <link>https://seo00.tistory.com/62</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;1. Revising the Select Query 1&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;2. Revising the Select Query 2&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;3. Select All&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;4. Select By ID&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;5. Average Population&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;6. Population Density Difference&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;7. Japan Population&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;8. Japanese Cities&amp;rsquo; Names&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;9. Japanese Cities&amp;rsquo; Attributes&lt;/p&gt;
&lt;figure id=&quot;og_1652711161290&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;HackerRank&quot; data-og-description=&quot;HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!&quot; data-og-host=&quot;www.hackerrank.com&quot; data-og-source-url=&quot;https://www.hackerrank.com/&quot; data-og-url=&quot;https://www.hackerrank.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ww92a/hyOpCXu0wY/uoRBfQrApNFpd7ADCMyRAK/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312,https://scrap.kakaocdn.net/dn/PRTDU/hyOrqnB48k/uhhXniAtDVKcRvAb0qzzA1/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312&quot;&gt;&lt;a href=&quot;https://www.hackerrank.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.hackerrank.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ww92a/hyOpCXu0wY/uoRBfQrApNFpd7ADCMyRAK/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312,https://scrap.kakaocdn.net/dn/PRTDU/hyOrqnB48k/uhhXniAtDVKcRvAb0qzzA1/img.png?width=1024&amp;amp;height=591&amp;amp;face=574_193_808_312');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;HackerRank&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.hackerrank.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;1. Revising the Select Query 1&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;01&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;641&quot; data-origin-height=&quot;428&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mY6qm/btrCmRLEoys/xNdNA3A5cbidVnHKWEKajK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mY6qm/btrCmRLEoys/xNdNA3A5cbidVnHKWEKajK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mY6qm/btrCmRLEoys/xNdNA3A5cbidVnHKWEKajK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmY6qm%2FbtrCmRLEoys%2FxNdNA3A5cbidVnHKWEKajK%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;641&quot; height=&quot;428&quot; data-origin-width=&quot;641&quot; data-origin-height=&quot;428&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652711271726&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT *  -- all columns
  FROM city  -- city table
 WHERE population &amp;gt; 100000 AND countrycode = 'USA';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;population이 100000보다 크면서 (AND) countrycode가 'USA'인 조건을 WHERE절에 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;2. Revising the Select Query 2&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;02&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHWG0O/btrCicqGig6/31scNGlhVfYUdI3DbJ2xX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHWG0O/btrCicqGig6/31scNGlhVfYUdI3DbJ2xX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHWG0O/btrCicqGig6/31scNGlhVfYUdI3DbJ2xX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHWG0O%2FbtrCicqGig6%2F31scNGlhVfYUdI3DbJ2xX1%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;668&quot; height=&quot;438&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;438&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652711603135&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT name
  FROM city
 WHERE population &amp;gt; 120000 AND countrycode = 'USA';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;population이 120000보다 크면서 (AND) countrycode가 'USA'인 조건을 WHERE절에 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;3. Select All&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;03&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;441&quot; data-origin-height=&quot;407&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brudZb/btrCmRSqk5p/jPMVSb4Gk8UxyzCLv36Mwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brudZb/btrCmRSqk5p/jPMVSb4Gk8UxyzCLv36Mwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brudZb/btrCmRSqk5p/jPMVSb4Gk8UxyzCLv36Mwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrudZb%2FbtrCmRSqk5p%2FjPMVSb4Gk8UxyzCLv36Mwk%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;441&quot; height=&quot;407&quot; data-origin-width=&quot;441&quot; data-origin-height=&quot;407&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652711704076&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT *
  FROM CITY;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;4. Select By ID&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;04&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;406&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SW0Kz/btrCkLelRbi/kixIUDmpkgF3cPOapNSOC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SW0Kz/btrCkLelRbi/kixIUDmpkgF3cPOapNSOC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SW0Kz/btrCkLelRbi/kixIUDmpkgF3cPOapNSOC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSW0Kz%2FbtrCkLelRbi%2FkixIUDmpkgF3cPOapNSOC0%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;413&quot; height=&quot;406&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;406&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652711802831&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT *
  FROM CITY
 WHERE ID = 1661;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;5. Average Population&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;05&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;443&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NRHi1/btrCia0LlSt/AC2L5NsAH6nOv5qR16qqAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NRHi1/btrCia0LlSt/AC2L5NsAH6nOv5qR16qqAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NRHi1/btrCia0LlSt/AC2L5NsAH6nOv5qR16qqAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNRHi1%2FbtrCia0LlSt%2FAC2L5NsAH6nOv5qR16qqAk%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;608&quot; height=&quot;443&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;443&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652711895757&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT FLOOR(AVG(population))
  FROM city;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;버림을 하라고했으므로 FLOOR 함수를 사용해준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;6. Population Density Difference&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;06&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blgLfz/btrCjVPiBip/LqIkI9zq5M1l0WoxHrfDg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blgLfz/btrCjVPiBip/LqIkI9zq5M1l0WoxHrfDg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blgLfz/btrCjVPiBip/LqIkI9zq5M1l0WoxHrfDg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblgLfz%2FbtrCjVPiBip%2FLqIkI9zq5M1l0WoxHrfDg1%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;559&quot; height=&quot;452&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652712411517&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT MAX(population) - MIN(population)
  FROM city;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최댓값 구하기 MAX함수 / 최솟값 구하기 MIN 함수&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;7. Japan Population&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;07&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;446&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u5ZUa/btrCmeUDRNs/lRkWIoA8ikYrGt21JKD5B1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u5ZUa/btrCmeUDRNs/lRkWIoA8ikYrGt21JKD5B1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u5ZUa/btrCmeUDRNs/lRkWIoA8ikYrGt21JKD5B1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu5ZUa%2FbtrCmeUDRNs%2FlRkWIoA8ikYrGt21JKD5B1%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;680&quot; height=&quot;446&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;446&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652712477937&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT SUM(population)
  FROM city
 WHERE countrycode = 'JPN';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;population의 합계를 구해야하므로 SUM(population)&lt;/li&gt;
&lt;li&gt;countrycode가 'JPN'이라는 조건을 where절에 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;8. Japanese Cities' Names&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;08&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CByJi/btrCkgZYwNX/rebWam6jtlWDeAcnmp9Rg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CByJi/btrCkgZYwNX/rebWam6jtlWDeAcnmp9Rg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CByJi/btrCkgZYwNX/rebWam6jtlWDeAcnmp9Rg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCByJi%2FbtrCkgZYwNX%2FrebWam6jtlWDeAcnmp9Rg1%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;640&quot; height=&quot;420&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652712590378&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT name
  FROM city
 WHERE countrycode = 'JPN';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;countrycode가 'JPN'인 조건을 주고 name 컬럼을 SELECT 했다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot; data-token-index=&quot;0&quot; data-reactroot=&quot;&quot;&gt;9. Japanese Cities' Attributes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;09&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;399&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pgQub/btrCj2N1sY3/JKKw6PujKodzk511habLEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pgQub/btrCj2N1sY3/JKKw6PujKodzk511habLEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pgQub/btrCj2N1sY3/JKKw6PujKodzk511habLEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpgQub%2FbtrCj2N1sY3%2FJKKw6PujKodzk511habLEK%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;668&quot; height=&quot;399&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;399&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652712703378&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT *
  FROM city
 WHERE countrycode = 'JPN';&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>SQL/SQL 문제</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/62</guid>
      <comments>https://seo00.tistory.com/62#entry62comment</comments>
      <pubDate>Mon, 16 May 2022 23:56:33 +0900</pubDate>
    </item>
    <item>
      <title>[Kaggle] Titanic 생존자 예측 ② Feature Engineering &amp;amp; 모델링</title>
      <link>https://seo00.tistory.com/61</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #456771;&quot;&gt;&lt;b&gt;Titanic 생존자 예측&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;② Feature Engineering &amp;amp; 모델링&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;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;SE-a5e79ef9-ef44-4370-a57d-c64d3fe375fb&quot; data-compid=&quot;SE-a5e79ef9-ef44-4370-a57d-c64d3fe375fb&quot; data-a11y-title=&quot;인용구&quot;&gt;
&lt;div data-unitid=&quot;&quot; data-compid=&quot;SE-a5e79ef9-ef44-4370-a57d-c64d3fe375fb&quot; data-direction=&quot;top&quot;&gt;
&lt;h2 id=&quot;SE-65120228-a203-4af3-a7d6-54b5ca62959f&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #c0d1e7; color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp; 3. Feature Engineering&amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Feature Engineering을 시작하기에 앞서 상관계수, 결측치를 확인해보자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652256759270&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train.corr()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1wfB7/btrBN5kRtIQ/pVkAsGkWB7AyWaXk2baaK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1wfB7/btrBN5kRtIQ/pVkAsGkWB7AyWaXk2baaK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1wfB7/btrBN5kRtIQ/pVkAsGkWB7AyWaXk2baaK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1wfB7%2FbtrBN5kRtIQ%2FpVkAsGkWB7AyWaXk2baaK0%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;511&quot; height=&quot;218&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652256776765&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train.isnull().sum()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;158&quot; data-origin-height=&quot;266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l6JRC/btrBOTqWFNE/XSYyow4XdxGna81n6kKhDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l6JRC/btrBOTqWFNE/XSYyow4XdxGna81n6kKhDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l6JRC/btrBOTqWFNE/XSYyow4XdxGna81n6kKhDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl6JRC%2FbtrBOTqWFNE%2FXSYyow4XdxGna81n6kKhDK%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;158&quot; height=&quot;266&quot; data-origin-width=&quot;158&quot; data-origin-height=&quot;266&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Train과 Test data를 한 번에 변환하기 위해 List에 담아주었다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652256811881&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;data_list = [train, test]&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-1. Sex&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;214&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YQCS2/btrBMDh3YWM/UBOFwJpKJpH93mVNqs0QQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YQCS2/btrBMDh3YWM/UBOFwJpKJpH93mVNqs0QQ0/img.png&quot; data-alt=&quot;train['Sex'].head()&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YQCS2/btrBMDh3YWM/UBOFwJpKJpH93mVNqs0QQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYQCS2%2FbtrBMDh3YWM%2FUBOFwJpKJpH93mVNqs0QQ0%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;214&quot; height=&quot;123&quot; data-origin-width=&quot;214&quot; data-origin-height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;train['Sex'].head()&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Sex는 male(남성), female(여성)으로 나누어져 있다. 이를 0과 1로 변경해주자&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652256719370&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# int type의 숫자 0과 1로 매핑
for data in data_list:
    data['Sex'] = data['Sex'].astype('category').cat.codes
    
train['Sex'].head()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;191&quot; data-origin-height=&quot;126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btTJRY/btrBS0P65bZ/Pqd37KvuzPjYKQBTttKmhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btTJRY/btrBS0P65bZ/Pqd37KvuzPjYKQBTttKmhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btTJRY/btrBS0P65bZ/Pqd37KvuzPjYKQBTttKmhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtTJRY%2FbtrBS0P65bZ%2FPqd37KvuzPjYKQBTttKmhK%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;191&quot; height=&quot;126&quot; data-origin-width=&quot;191&quot; data-origin-height=&quot;126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-2. Age&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 Age 컬럼에 177개의 결측치가 존재하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 결측치에 대해 여성에겐 여성 나이의 평균, 남성에겐 남성 나이의 평균으로 채워줄 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652256996145&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sex_mean = train.groupby('Sex')['Age'].mean()
sex_mean&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;213&quot; data-origin-height=&quot;89&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmGEZ7/btrBQFl7zl9/ptPZDpwk5X9vjwD6O9Crhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmGEZ7/btrBQFl7zl9/ptPZDpwk5X9vjwD6O9Crhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmGEZ7/btrBQFl7zl9/ptPZDpwk5X9vjwD6O9Crhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmGEZ7%2FbtrBQFl7zl9%2FptPZDpwk5X9vjwD6O9Crhk%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;213&quot; height=&quot;89&quot; data-origin-width=&quot;213&quot; data-origin-height=&quot;89&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여성의 평균 나이는 28세, 남성의 평균 나이는 31세이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652257031500&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Age 결측치 처리
for data in data_list:
    data.loc[(data['Sex'] == 0) &amp;amp; (data['Age'].isnull()), 'Age'] = sex_mean[0]
    data.loc[(data['Sex'] == 1) &amp;amp; (data['Age'].isnull()), 'Age'] = sex_mean[1]
    
train.isnull().sum()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;156&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdYvjf/btrBSZXYCRh/cnDMpSoxOeveleol7d7HKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdYvjf/btrBSZXYCRh/cnDMpSoxOeveleol7d7HKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdYvjf/btrBSZXYCRh/cnDMpSoxOeveleol7d7HKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdYvjf%2FbtrBSZXYCRh%2FcnDMpSoxOeveleol7d7HKK%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;156&quot; height=&quot;262&quot; data-origin-width=&quot;156&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 Age를 카테고리화 할 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;남자와 여자는 0, 1로 차이가 극명하게 나뉘는 값이지만 요금이나 나이의 경우 20과 30의 차이가 10이라고 해서 극명하게 나뉘는 값이 아니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이를 전체적인 범주에 맞게 낮춰주기 위해 카테고리화 할 것이다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저, Age를 5개 구간으로 나누어 AgeRange 컬럼에 저장해주자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652257322797&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 카테고리화
train['AgeRange'] = pd.cut(train['Age'], 5)
train[['AgeRange', 'Survived']].groupby(['AgeRange']).mean()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;154&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czr9sC/btrBRnMl0vS/FcAsPxVC3vKjYdNxMyq42k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czr9sC/btrBRnMl0vS/FcAsPxVC3vKjYdNxMyq42k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czr9sC/btrBRnMl0vS/FcAsPxVC3vKjYdNxMyq42k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fczr9sC%2FbtrBRnMl0vS%2FFcAsPxVC3vKjYdNxMyq42k%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;154&quot; height=&quot;190&quot; data-origin-width=&quot;154&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;16, 32, 48, 64 값들을 기준으로 카테고리화를 하면 되겠다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652257370039&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for data in data_list:    
    data.loc[ data['Age'] &amp;lt;= 16, 'Age'] = 0
    data.loc[(data['Age'] &amp;gt; 16) &amp;amp; (data['Age'] &amp;lt;= 32), 'Age'] = 1
    data.loc[(data['Age'] &amp;gt; 32) &amp;amp; (data['Age'] &amp;lt;= 48), 'Age'] = 2
    data.loc[(data['Age'] &amp;gt; 48) &amp;amp; (data['Age'] &amp;lt;= 64), 'Age'] = 3
    data.loc[ data['Age'] &amp;gt; 64, 'Age'] = 4
train.drop('AgeRange', inplace=True, axis=1)
train.head()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;844&quot; data-origin-height=&quot;178&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Rl2Ru/btrBTzdFQ9w/KMwdVxEOP8Y87gM7M5Pnk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Rl2Ru/btrBTzdFQ9w/KMwdVxEOP8Y87gM7M5Pnk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Rl2Ru/btrBTzdFQ9w/KMwdVxEOP8Y87gM7M5Pnk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRl2Ru%2FbtrBTzdFQ9w%2FKMwdVxEOP8Y87gM7M5Pnk1%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;844&quot; height=&quot;178&quot; data-origin-width=&quot;844&quot; data-origin-height=&quot;178&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;카테고리화가 잘 되었고 'AgeRange' 컬럼은 이제 필요 없으므로 drop 해주었다.&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-3. Name&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;탑승객들의 이름 앞을 추출해보면 Mr, Mrs, Miss 등의 명칭등을 뽑아낼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이름 전체를 사용하는 것은 생존자 예측에 큰 도움이 되지 않을 것으로 예상되므로 이름을 간소화해보자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652257537818&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train['Title'] = train['Name'].str.extract(' ([A-Za-z]+)\.', expand=False)
train['Title'].value_counts()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;214&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEDuDQ/btrBSkBzDzM/eDJ16ZcgnjAy1x9OkGqKKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEDuDQ/btrBSkBzDzM/eDJ16ZcgnjAy1x9OkGqKKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEDuDQ/btrBSkBzDzM/eDJ16ZcgnjAy1x9OkGqKKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEDuDQ%2FbtrBSkBzDzM%2FeDJ16ZcgnjAy1x9OkGqKKK%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;214&quot; height=&quot;370&quot; data-origin-width=&quot;214&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Mr, Miss, Mrs, Master가 가장 많이 존재하고 나머지는 적게 존재하므로 복잡도를 증가시키지 않기 위해 모두 'Other'로 통일하면 좋을 것 같다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652257600968&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for data in data_list:
    data['Title'] = data['Name'].str.extract(' ([A-Za-z]+)\.', expand=False)
    data['Title'] = data['Title'].replace(['Dr', 'Rev', 'Mlle', 'Major', 'Col', 'Countess',
                                        'Capt', 'Ms', 'Sir', 'Lady', 'Mme', 'Don', 'Jonkheer'], 'Other')
    # -&amp;gt; 범주형 -&amp;gt; 수치형
    data['Title_name'] = data['Title'].astype('category').cat.codes&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;title_name이라는 컬럼에 title을 카테고리화 -&amp;gt; 수치화 한 값을 넣어주었다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이름의 Title별로 생존율을 확인해보면 다음과 같다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652257653639&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train[['Title', 'Survived']].groupby(['Title']).mean()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;108&quot; data-origin-height=&quot;192&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WEkjD/btrBPdXKWia/iyKsrKZlPh6aYyLuyuGRJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WEkjD/btrBPdXKWia/iyKsrKZlPh6aYyLuyuGRJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WEkjD/btrBPdXKWia/iyKsrKZlPh6aYyLuyuGRJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWEkjD%2FbtrBPdXKWia%2FiyKsrKZlPh6aYyLuyuGRJ1%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;108&quot; height=&quot;192&quot; data-origin-width=&quot;108&quot; data-origin-height=&quot;192&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Title_name 컬럼을 만들어줬으니 이제 필요 없는 'Name', 'Title' 컬럼을 지우고 확인해보자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652257692774&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 불필요한 데이터 지우기
train.drop(['Name', 'Title'], axis=1, inplace = True)
test.drop(['Name', 'Title'], axis=1, inplace = True)
train.head()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zW3Ts/btrBOSyQqGq/1hUBJ2RS6qD0AQ1doCnCHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zW3Ts/btrBOSyQqGq/1hUBJ2RS6qD0AQ1doCnCHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zW3Ts/btrBOSyQqGq/1hUBJ2RS6qD0AQ1doCnCHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzW3Ts%2FbtrBOSyQqGq%2F1hUBJ2RS6qD0AQ1doCnCHK%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;719&quot; height=&quot;161&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;161&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-4. SibSp + Parch&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SibSp는 함께 탑승한 형제자매, 배우자의 총합 / Parch는 함께 탑승한 부모, 자녀의 총합 이었다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;혼자 탑승한 탑승객과 그 외의 탑승객의 사망률에 차이가 있었기 때문에 가족이라는 새로운 컬럼을 만들어주자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652257849823&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train['FamilySize'] = train['SibSp'] + train['Parch'] + 1
test['FamilySize'] = train['SibSp'] + train['Parch'] + 1
train.head()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bT3rOH/btrBSkImhjP/qa33TmmNlKryrpOk7vM7L0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bT3rOH/btrBSkImhjP/qa33TmmNlKryrpOk7vM7L0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bT3rOH/btrBSkImhjP/qa33TmmNlKryrpOk7vM7L0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbT3rOH%2FbtrBSkImhjP%2Fqa33TmmNlKryrpOk7vM7L0%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;721&quot; height=&quot;160&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;피봇 테이블을 이용하여 가족수별 생존율을 확인해보고 시각화해보자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652257929747&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pd.pivot_table(train, index='FamilySize', values='Survived')
sns.countplot(data=train, x='FamilySize', hue='Survived')&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;125&quot; data-origin-height=&quot;293&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmaXAr/btrBQEHzmTF/tTot5gmQO3psuUkAnh5TCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmaXAr/btrBQEHzmTF/tTot5gmQO3psuUkAnh5TCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmaXAr/btrBQEHzmTF/tTot5gmQO3psuUkAnh5TCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmaXAr%2FbtrBQEHzmTF%2FtTot5gmQO3psuUkAnh5TCk%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;125&quot; height=&quot;293&quot; data-origin-width=&quot;125&quot; data-origin-height=&quot;293&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPgYYx/btrBSF6x0Hk/jlkY9aaGU6kuUzt3kqfSm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPgYYx/btrBSF6x0Hk/jlkY9aaGU6kuUzt3kqfSm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPgYYx/btrBSF6x0Hk/jlkY9aaGU6kuUzt3kqfSm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPgYYx%2FbtrBSF6x0Hk%2FjlkY9aaGU6kuUzt3kqfSm1%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;385&quot; height=&quot;260&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;FamilySize라는 컬럼을 만들어주었으므로 이제 필요 없는 'SibSp', 'Parch' 컬럼을 제거해주자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652257974302&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 컬럼 제거
drop_list = ['SibSp', 'Parch']
for data in data_list:
    data.drop(drop_list, inplace=True, axis=1)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-5. Embarked&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위에서 Embarked 컬럼에 2개의 결측치가 존재했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결측치가 2개뿐이니 가장 많은 비율을 차지하는 'S'로 채워주었다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652258143538&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train['Embarked'].value_counts()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;232&quot; data-origin-height=&quot;85&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0rYl2/btrBTr03OKE/H63SRqVJTiKZraiSRHH200/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0rYl2/btrBTr03OKE/H63SRqVJTiKZraiSRHH200/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0rYl2/btrBTr03OKE/H63SRqVJTiKZraiSRHH200/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0rYl2%2FbtrBTr03OKE%2FH63SRqVJTiKZraiSRHH200%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;232&quot; height=&quot;85&quot; data-origin-width=&quot;232&quot; data-origin-height=&quot;85&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652258164150&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 결측치 처리
for data in data_list:
    data['Embarked'] = data['Embarked'].fillna('S')
sns.countplot(data=train, x='Embarked', hue='Survived')&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIGBsR/btrBSaTwHm2/cPfyAwD5DERpTffmBTpKD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIGBsR/btrBSaTwHm2/cPfyAwD5DERpTffmBTpKD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIGBsR/btrBSaTwHm2/cPfyAwD5DERpTffmBTpKD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIGBsR%2FbtrBSaTwHm2%2FcPfyAwD5DERpTffmBTpKD1%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;385&quot; height=&quot;260&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Cherbourg에서 탑승한 사람들이 상대적으로 많이 살아남은 것으로 보인다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 S, C, Q를 각각 0, 1, 2로 매핑해주자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652258211413&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;em_mapping = {'S':0, 'C':1, 'Q':2}
for data in data_list:
    data['Embarked'] = data['Embarked'].map(em_mapping)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-6. Cabin&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 Cabin 컬럼에 대해 살펴보면 다음과 같이 선실을 대표하는 알파벳이 맨 처음에 나온다&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652258265344&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train['Cabin'].value_counts()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;315&quot; data-origin-height=&quot;249&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rUiMI/btrBSlUPtPe/WcIoMefdTtuFzQMspQjD61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rUiMI/btrBSlUPtPe/WcIoMefdTtuFzQMspQjD61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rUiMI/btrBSlUPtPe/WcIoMefdTtuFzQMspQjD61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrUiMI%2FbtrBSlUPtPe%2FWcIoMefdTtuFzQMspQjD61%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;315&quot; height=&quot;249&quot; data-origin-width=&quot;315&quot; data-origin-height=&quot;249&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652258371020&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for data in data_list:
    data['Cabin'] = data['Cabin'].fillna('N')
    data['Cabin'] = data['Cabin'].apply(lambda x:x[0])
    data['Cabin'] = data['Cabin'].astype('category').cat.codes
train.head()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buG1uI/btrBOuFsdHK/pNkdNA2qZQbh6Bfq7emNSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buG1uI/btrBOuFsdHK/pNkdNA2qZQbh6Bfq7emNSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buG1uI/btrBOuFsdHK/pNkdNA2qZQbh6Bfq7emNSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuG1uI%2FbtrBOuFsdHK%2FpNkdNA2qZQbh6Bfq7emNSk%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;649&quot; height=&quot;160&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결측치에는 'N'으로 저장하고 각각 맨 앞자리의 알파벳을 불러왔다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 다음 Cabin 컬럼을 카테고리화 한 뒤 수치형으로 바꿔주었다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-7. Fare&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Fare도 위의 Age에서 한 것과 같이 이미 숫자이긴 하지만 단순화하기 위하여 4개 구간으로 나누어줄 것이다&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652258490072&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 카테고리화
for data in data_list:
    data['Farerange'] = pd.cut(data['Fare'], 4)
train[['Farerange', 'Survived']].groupby(['Farerange']).mean()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;162&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cx2nOq/btrBTyy9Mae/cXtIHmPuiD5k1s8A3hASh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cx2nOq/btrBTyy9Mae/cXtIHmPuiD5k1s8A3hASh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cx2nOq/btrBTyy9Mae/cXtIHmPuiD5k1s8A3hASh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcx2nOq%2FbtrBTyy9Mae%2FcXtIHmPuiD5k1s8A3hASh1%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;169&quot; height=&quot;162&quot; data-origin-width=&quot;169&quot; data-origin-height=&quot;162&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;128, 256, 384를 기준으로 나눠주면 될 것 같다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652258681744&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for data in data_list:    
    data.loc[data['Fare'] &amp;lt;= 128, 'Fare'] = 0
    data.loc[(data['Fare'] &amp;gt; 128) &amp;amp; (data['Fare'] &amp;lt;= 256), 'Fare'] = 1
    data.loc[(data['Fare'] &amp;gt; 256) &amp;amp; (data['Fare'] &amp;lt;= 384), 'Fare'] = 2
    data.loc[data['Fare'] &amp;gt; 384, 'Fare'] = 3

train.head()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;166&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZyMwz/btrBQDvbj9N/3n6m8gUKcpG3MODOPWPAa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZyMwz/btrBQDvbj9N/3n6m8gUKcpG3MODOPWPAa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZyMwz/btrBQDvbj9N/3n6m8gUKcpG3MODOPWPAa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZyMwz%2FbtrBQDvbj9N%2F3n6m8gUKcpG3MODOPWPAa1%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;714&quot; height=&quot;166&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 Farerange 컬럼은 필요 없으므로 제거해주었다&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652258735677&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 컬럼 지우기
for data in data_list:
    data.drop('Farerange', axis=1, inplace=True)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-8. Drop Data&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train 데이터의 컬럼들을 살펴보면 다음과 같다&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5YRgJ/btrBOvdiGYY/0X4KTfXGE84foUqJJK4QjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5YRgJ/btrBOvdiGYY/0X4KTfXGE84foUqJJK4QjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5YRgJ/btrBOvdiGYY/0X4KTfXGE84foUqJJK4QjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5YRgJ%2FbtrBOvdiGYY%2F0X4KTfXGE84foUqJJK4QjK%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;624&quot; height=&quot;164&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;164&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;PassengerId, Ticket 컬럼들은 필요 없으므로 drop해 줄 것이다&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652258822914&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;drop_list = ['PassengerId', 'Ticket']
for data in data_list:
    data.drop(drop_list, inplace=True, axis=1)
    
for data in data_list:
    data.drop('Cabin', inplace=True, axis=1)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Cabin 컬럼도 제거하는 것이 조금 더 성능이 좋아서 뒤늦게 제거에 추가했다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3-9. test data 결측치&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;마지막으로 test data에 있는 Fare 결측치 1개를 Fare의 평균으로 채워주었다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652258916950&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;test[test['Fare'].isnull()] = test['Fare'].mean()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;피쳐 엔지니어링이 끝났으므로 train, test 데이터를 확인해보자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652258953183&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train.head()
test.head()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;403&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwqJFG/btrBQDBVJI3/8IMCvT8oUoVT6DfdqUoRtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwqJFG/btrBQDBVJI3/8IMCvT8oUoVT6DfdqUoRtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwqJFG/btrBQDBVJI3/8IMCvT8oUoVT6DfdqUoRtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwqJFG%2FbtrBQDBVJI3%2F8IMCvT8oUoVT6DfdqUoRtk%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;403&quot; height=&quot;163&quot; data-origin-width=&quot;403&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;347&quot; data-origin-height=&quot;157&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vB9up/btrBTzEQo9D/ujTlp9gW36Auc7oHgJpgiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vB9up/btrBTzEQo9D/ujTlp9gW36Auc7oHgJpgiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vB9up/btrBTzEQo9D/ujTlp9gW36Auc7oHgJpgiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvB9up%2FbtrBTzEQo9D%2FujTlp9gW36Auc7oHgJpgiK%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;347&quot; height=&quot;157&quot; data-origin-width=&quot;347&quot; data-origin-height=&quot;157&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;상관계수도 확인해보면&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652258978227&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train.corr()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;237&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8MBGl/btrBOuyH2cv/vmgavx9aU1TVuSAV5Sv5Lk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8MBGl/btrBOuyH2cv/vmgavx9aU1TVuSAV5Sv5Lk/img.png&quot; data-alt=&quot;FE 후 상관계수&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8MBGl/btrBOuyH2cv/vmgavx9aU1TVuSAV5Sv5Lk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8MBGl%2FbtrBOuyH2cv%2Fvmgavx9aU1TVuSAV5Sv5Lk%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;559&quot; height=&quot;237&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;237&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;FE 후 상관계수&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1wfB7/btrBN5kRtIQ/pVkAsGkWB7AyWaXk2baaK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1wfB7/btrBN5kRtIQ/pVkAsGkWB7AyWaXk2baaK0/img.png&quot; data-alt=&quot;FE 전 상관계수&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1wfB7/btrBN5kRtIQ/pVkAsGkWB7AyWaXk2baaK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1wfB7%2FbtrBN5kRtIQ%2FpVkAsGkWB7AyWaXk2baaK0%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;511&quot; height=&quot;218&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;218&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;FE 전 상관계수&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;FE 전후 상관계수를 확인해보면 원래는 없었거나 상관관계가 거의 없었던 Pclass, Sex, Fare, Embarked 등이 이제는 Survived에 영향을 끼치는 것으로 보인다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;div id=&quot;SE-a5e79ef9-ef44-4370-a57d-c64d3fe375fb&quot; data-compid=&quot;SE-a5e79ef9-ef44-4370-a57d-c64d3fe375fb&quot; data-a11y-title=&quot;인용구&quot;&gt;
&lt;div data-unitid=&quot;&quot; data-compid=&quot;SE-a5e79ef9-ef44-4370-a57d-c64d3fe375fb&quot; data-direction=&quot;top&quot;&gt;
&lt;h2 id=&quot;SE-65120228-a203-4af3-a7d6-54b5ca62959f&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #c0d1e7; color: #000000;&quot;&gt;&lt;b&gt;&amp;nbsp; 4. 모델링&amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여러 알고리즘을 돌려보고 점수가 가장 좋은 것을 최종 모델로 선정하려고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 train_input, train_target을 만들어주고 라이브러리들을 불러오자&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1652259189570&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;train_input = train.drop('Survived', axis=1).values
train_target = train['Survived'].values
print(train_input.shape, train_target.shape)  #(891, 7) (891,)

# 라이브러리
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_validate
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import StratifiedKFold
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.experimental import enable_hist_gradient_boosting
from sklearn.ensemble import HistGradientBoostingClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4-1. KNN&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1652259229090&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;model = KNeighborsClassifier()
score = cross_validate(model, train_input, train_target,
                      return_train_score=True, n_jobs=-1,
                      cv = StratifiedKFold())
print(np.mean(score['train_score']), np.mean(score['test_score']))
# 0.8369821296310886 0.8013495700207143&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train data의 정확도는 약 84%, 검증 데이터의 정확도는 약 80%&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4-2. Decision Tree&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1652259309455&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;model = DecisionTreeClassifier()
score = cross_validate(model, train_input, train_target,
                      return_train_score=True, n_jobs=-1,
                      cv = StratifiedKFold())
print(np.mean(score['train_score']), np.mean(score['test_score']))
# 0.872335203366059 0.8024982738057874&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train data의 정확도는 약 87%, 검증 데이터의 정확도는 약 80%&amp;nbsp; -&amp;gt; 과대적합으로 보임&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4-3. Random Forest&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1652259344399&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;model = RandomForestClassifier()
score = cross_validate(model, train_input, train_target,
                      return_train_score=True, n_jobs=-1,
                      cv = StratifiedKFold())
print(np.mean(score['train_score']), np.mean(score['test_score']))
# 0.872335203366059 0.7980164459230431&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train data의 정확도는 약 87%, 검증 데이터의 정확도는 약 80%&amp;nbsp; -&amp;gt; 과대적합으로 보임&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4-4. GradientBoosting&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1652259383135&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;model = GradientBoostingClassifier()
score = cross_validate(model, train_input, train_target,
                      return_train_score=True, n_jobs=-1,
                      cv = StratifiedKFold())
print(np.mean(score['train_score']), np.mean(score['test_score']))
# 0.8555009691602187 0.8204632477559475&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train data의 정확도는 약 86%, 검증 데이터의 정확도는 약 82%&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4-5. HistGradientBoosting&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1652259416191&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;model = HistGradientBoostingClassifier()
score = cross_validate(model, train_input, train_target,
                      return_train_score=True, n_jobs=-1,
                      cv = StratifiedKFold())
print(np.mean(score['train_score']), np.mean(score['test_score']))
# 0.8597093307278945 0.8126043562864854&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train data의 정확도는 약 86%, 검증 데이터의 정확도는 약 81%&amp;nbsp; -&amp;gt; 과대적합으로 보임&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4-6. Naive Bayes&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1652259480800&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;model = GaussianNB()
score = cross_validate(model, train_input, train_target,
                      return_train_score=True, n_jobs=-1,
                      cv = StratifiedKFold())
print(np.mean(score['train_score']), np.mean(score['test_score']))
# 0.8117284145169169 0.812560416797439&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train data의 정확도는 약 81%, 검증 데이터의 정확도는 약 81%&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4-7. Support Vector Machine&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1652259465760&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;model = SVC()
score = cross_validate(model, train_input, train_target,
                      return_train_score=True, n_jobs=-1,
                      cv = StratifiedKFold())
print(np.mean(score['train_score']), np.mean(score['test_score']))
# 0.8366992609168413 0.8349946644906158&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train data의 정확도는 약 84%, 검증 데이터의 정확도는 약 80%&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4-8. 최종 모델&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;KNN, Gradient Boosting, SVM의 성능이 가장 좋았고 최종 모델로는 KNN으로 정하였다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train 데이터 정확도&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;검증 데이터 정확도&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;KNN&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.83698&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.80135&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Gradient Boosting&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.8555&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.82046&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SVM&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.836699&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.834995&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1652259633057&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;model = KNeighborsClassifier()
model.fit(train_input, train_target)
test_input = test.values
pred = model.predict(test_input)

submission['Survived'] = pred
submission&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;170&quot; data-origin-height=&quot;353&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XpvkC/btrBPdXRMkq/10SuEyRi6Iq0LDQYUiLD8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XpvkC/btrBPdXRMkq/10SuEyRi6Iq0LDQYUiLD8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XpvkC/btrBPdXRMkq/10SuEyRi6Iq0LDQYUiLD8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXpvkC%2FbtrBPdXRMkq%2F10SuEyRi6Iq0LDQYUiLD8k%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;170&quot; height=&quot;353&quot; data-origin-width=&quot;170&quot; data-origin-height=&quot;353&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1652259646896&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;submission.to_csv(&quot;C:/data/titanic/submission_result.csv&quot;, index=False)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;203&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dckBqY/btrBSkuWp2M/9IzMrTQgjXyIZnOAZk0321/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dckBqY/btrBSkuWp2M/9IzMrTQgjXyIZnOAZk0321/img.png&quot; data-alt=&quot;캐글 점수&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dckBqY/btrBSkuWp2M/9IzMrTQgjXyIZnOAZk0321/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdckBqY%2FbtrBSkuWp2M%2F9IzMrTQgjXyIZnOAZk0321%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;600&quot; height=&quot;152&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;203&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;캐글 점수&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예측 Model의 성능을 올리기 위해 개선할 점을 생각해보면&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;더 자세한 EDA&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결측값을 다른 방법으로 처리하기&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용하지 않은 Feature을 사용하거나, 사용한 Feature들 중 필요 없다고 생각하는 것들은 제거해보기&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Modeling 단계에서 파라미터 값을 튜닝해보며 최적화 값 찾기&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AutoML 이라는 것을 알게 되었는데 아직 시도는 못 해봤다. 다음에 시도해봐야지!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;train 데이터 정확도&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;검증 데이터 정확도&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;KNN&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.83698&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.80135&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Gradient Boosting&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.8555&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.82046&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SVM&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.836699&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0.834995&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사실 나는 KNN보다 Gradient Boosting이나 SVM가 더 적합한 모델일 것이라고 생각했는데 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;캐글의 점수는 그렇지 않았다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;캐글에서 이 대회의 평가 지표는 Metric여서 그런게 아닐까 싶다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;275&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQXB1W/btrBSGkct9b/J5wCZb08cY1R5kMtL3YC1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQXB1W/btrBSGkct9b/J5wCZb08cY1R5kMtL3YC1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQXB1W/btrBSGkct9b/J5wCZb08cY1R5kMtL3YC1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQXB1W%2FbtrBSGkct9b%2FJ5wCZb08cY1R5kMtL3YC1K%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;743&quot; height=&quot;275&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;275&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Python/데이터분석 실습</category>
      <author>dori_0</author>
      <guid isPermaLink="true">https://seo00.tistory.com/61</guid>
      <comments>https://seo00.tistory.com/61#entry61comment</comments>
      <pubDate>Wed, 11 May 2022 18:12:26 +0900</pubDate>
    </item>
  </channel>
</rss>