<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>날아보자!</title>
    <link>https://hoojiv.tistory.com/</link>
    <description>Restart!!</description>
    <language>ko</language>
    <pubDate>Wed, 6 May 2026 23:17:01 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>hoojiv</managingEditor>
    <image>
      <title>날아보자!</title>
      <url>https://tistory1.daumcdn.net/tistory/842186/attach/6c1d393b096a483088c31575119d737d</url>
      <link>https://hoojiv.tistory.com</link>
    </image>
    <item>
      <title>[Database] 데이터 관련 용어 정리</title>
      <link>https://hoojiv.tistory.com/121</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;주제영역&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기업이 사용하는 데이터의 최상위 집합으로 동일한 기능을 하는 데이터를 그룹으로 정의하여 관리하는 것을 의미한다. 하나의 주제영역으로 정의되는 데이터간의 관계는 밀접하고, 다른 주제 영역에 포함되는 데이터 간의 상호작은 최소화하도록 정의해야 한다. 제조업의 경우 인사, 생산, 판매, 자재 등으로 구성될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&amp;amp;uid=280&quot;&gt;https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&amp;amp;uid=280&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1642228784549&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;주제 영역 정의&quot; data-og-description=&quot;주제 영역 개념 주제 영역(Subject Area)은 기업이 사용하는 데이터의 최상위 집합이다. 예를 들어, 제조 업체의 경우 인사, 생산, 자재, 판매 등의 주제 영역이 있을 수 있다. 하나의 주제 영역으로 &quot; data-og-host=&quot;dataonair.or.kr&quot; data-og-source-url=&quot;https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&amp;amp;uid=280&quot; data-og-url=&quot;https://dataonair.or.kr/?kboard_content_redirect=280&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&amp;amp;uid=280&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&amp;amp;uid=280&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;주제 영역 정의&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;주제 영역 개념 주제 영역(Subject Area)은 기업이 사용하는 데이터의 최상위 집합이다. 예를 들어, 제조 업체의 경우 인사, 생산, 자재, 판매 등의 주제 영역이 있을 수 있다. 하나의 주제 영역으로&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dataonair.or.kr&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;h2 data-ke-size=&quot;size26&quot;&gt;CDC (Changed Data Capture)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터를 통합하기 위해 변경된 데이터를 캡쳐하여 다양한 운영 및 분석시스템에 실시간으로 전달하는 기술이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://blog.naver.com/arkdata/222515632332&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://blog.naver.com/arkdata/222515632332&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1642229578037&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[IT 용어사전] CDC와 ETL 차이점&quot; data-og-description=&quot;안녕하세요! IT용어사전 입니다. 타깃 DB로의 데이터를 옮길 필요가 있을 때 흔히 CDC와 함께 고려...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://blog.naver.com/arkdata/222515632332&quot; data-og-url=&quot;https://blog.naver.com/arkdata/222515632332&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bgdaP9/hyM5DDANhg/NXbsFhF43sRx6YmFKKApOk/img.jpg?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://blog.naver.com/arkdata/222515632332&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://blog.naver.com/arkdata/222515632332&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bgdaP9/hyM5DDANhg/NXbsFhF43sRx6YmFKKApOk/img.jpg?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&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;[IT 용어사전] CDC와 ETL 차이점&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요! IT용어사전 입니다. 타깃 DB로의 데이터를 옮길 필요가 있을 때 흔히 CDC와 함께 고려...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.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;h2 data-ke-size=&quot;size26&quot;&gt;ETL (Extract, Transform, Load)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추출(Extract), 변환(Transform), 적재(Load)의 약자로 데이터 소스로부터 데이터를 추출하여 원하는 포맷으로 변환 후 타겟DB에 적재하는 기술이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://blog.naver.com/arkdata/222515632332&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://blog.naver.com/arkdata/222515632332&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1642229727621&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[IT 용어사전] CDC와 ETL 차이점&quot; data-og-description=&quot;안녕하세요! IT용어사전 입니다. 타깃 DB로의 데이터를 옮길 필요가 있을 때 흔히 CDC와 함께 고려...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://blog.naver.com/arkdata/222515632332&quot; data-og-url=&quot;https://blog.naver.com/arkdata/222515632332&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bgdaP9/hyM5DDANhg/NXbsFhF43sRx6YmFKKApOk/img.jpg?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://blog.naver.com/arkdata/222515632332&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://blog.naver.com/arkdata/222515632332&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bgdaP9/hyM5DDANhg/NXbsFhF43sRx6YmFKKApOk/img.jpg?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&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;[IT 용어사전] CDC와 ETL 차이점&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요! IT용어사전 입니다. 타깃 DB로의 데이터를 옮길 필요가 있을 때 흔히 CDC와 함께 고려...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.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;h2 data-ke-size=&quot;size26&quot;&gt;EAI (Enterprise Application Integratin)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엔터프라이즈 미들웨어를 인프라로 하여 다양한 이질적인 애플리케이션, 데이터, 플랫폼, 네트워크 등을 통합하여 하나의 시스템으로 관리/운영할 수 있는 유기적인 시스템을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://needjarvis.tistory.com/506&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://needjarvis.tistory.com/506&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1642229931682&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;기업내 어플리케이션 통합을 위한, EAI&quot; data-og-description=&quot;EAI(Enterprise Application Integration)의 개요 EAI의 개념 EAI(Enterprise Application Integration)은 약어의 의미 그대로 전사 어플리케이션 통합을 위한 솔루션이다. 처음부터 모든 어플리케이션을 연결하기..&quot; data-og-host=&quot;needjarvis.tistory.com&quot; data-og-source-url=&quot;https://needjarvis.tistory.com/506&quot; data-og-url=&quot;https://needjarvis.tistory.com/506&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/qaeyo/hyM6AFhr8y/4aJ150iBsyFMYr4kkobg81/img.gif?width=450&amp;amp;height=296&amp;amp;face=0_0_450_296,https://scrap.kakaocdn.net/dn/b7PI2t/hyM6PoT4mK/s14PM2sk2kIhbZq8pBZCrk/img.gif?width=450&amp;amp;height=296&amp;amp;face=0_0_450_296,https://scrap.kakaocdn.net/dn/fNmBD/hyM6D9PHWa/lWsSDkhhc2gsN98FhMiZok/img.jpg?width=606&amp;amp;height=366&amp;amp;face=0_0_606_366&quot;&gt;&lt;a href=&quot;https://needjarvis.tistory.com/506&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://needjarvis.tistory.com/506&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/qaeyo/hyM6AFhr8y/4aJ150iBsyFMYr4kkobg81/img.gif?width=450&amp;amp;height=296&amp;amp;face=0_0_450_296,https://scrap.kakaocdn.net/dn/b7PI2t/hyM6PoT4mK/s14PM2sk2kIhbZq8pBZCrk/img.gif?width=450&amp;amp;height=296&amp;amp;face=0_0_450_296,https://scrap.kakaocdn.net/dn/fNmBD/hyM6D9PHWa/lWsSDkhhc2gsN98FhMiZok/img.jpg?width=606&amp;amp;height=366&amp;amp;face=0_0_606_366');&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;기업내 어플리케이션 통합을 위한, EAI&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;EAI(Enterprise Application Integration)의 개요 EAI의 개념 EAI(Enterprise Application Integration)은 약어의 의미 그대로 전사 어플리케이션 통합을 위한 솔루션이다. 처음부터 모든 어플리케이션을 연결하기..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;needjarvis.tistory.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;h2 data-ke-size=&quot;size26&quot;&gt;ESB (Enterprise Service Bus)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EAI 이후에 나온 개념으로 EAI가 허브&amp;amp;스포크 형태의 중앙 집중 방식이라면 ESB는 동적인 업무 프로세스를 통합하기 위한 버스 형태를 취하고 있다. 즉, EAI는 시스템 사이에 위치하여 각 시스템의 연계를 중심으로 한다면, ESB는 서비스를 중심으로 하나의 업무 프로세스를 진행하기 위해 하나 이상의 시스템을 거치는 운반자적인 역할을 중심으로 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://needjarvis.tistory.com/506&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://needjarvis.tistory.com/506&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1642230091010&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;기업내 어플리케이션 통합을 위한, EAI&quot; data-og-description=&quot;EAI(Enterprise Application Integration)의 개요 EAI의 개념 EAI(Enterprise Application Integration)은 약어의 의미 그대로 전사 어플리케이션 통합을 위한 솔루션이다. 처음부터 모든 어플리케이션을 연결하기..&quot; data-og-host=&quot;needjarvis.tistory.com&quot; data-og-source-url=&quot;https://needjarvis.tistory.com/506&quot; data-og-url=&quot;https://needjarvis.tistory.com/506&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/qaeyo/hyM6AFhr8y/4aJ150iBsyFMYr4kkobg81/img.gif?width=450&amp;amp;height=296&amp;amp;face=0_0_450_296,https://scrap.kakaocdn.net/dn/b7PI2t/hyM6PoT4mK/s14PM2sk2kIhbZq8pBZCrk/img.gif?width=450&amp;amp;height=296&amp;amp;face=0_0_450_296,https://scrap.kakaocdn.net/dn/fNmBD/hyM6D9PHWa/lWsSDkhhc2gsN98FhMiZok/img.jpg?width=606&amp;amp;height=366&amp;amp;face=0_0_606_366&quot;&gt;&lt;a href=&quot;https://needjarvis.tistory.com/506&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://needjarvis.tistory.com/506&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/qaeyo/hyM6AFhr8y/4aJ150iBsyFMYr4kkobg81/img.gif?width=450&amp;amp;height=296&amp;amp;face=0_0_450_296,https://scrap.kakaocdn.net/dn/b7PI2t/hyM6PoT4mK/s14PM2sk2kIhbZq8pBZCrk/img.gif?width=450&amp;amp;height=296&amp;amp;face=0_0_450_296,https://scrap.kakaocdn.net/dn/fNmBD/hyM6D9PHWa/lWsSDkhhc2gsN98FhMiZok/img.jpg?width=606&amp;amp;height=366&amp;amp;face=0_0_606_366');&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;기업내 어플리케이션 통합을 위한, EAI&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;EAI(Enterprise Application Integration)의 개요 EAI의 개념 EAI(Enterprise Application Integration)은 약어의 의미 그대로 전사 어플리케이션 통합을 위한 솔루션이다. 처음부터 모든 어플리케이션을 연결하기..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;needjarvis.tistory.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;h2 data-ke-size=&quot;size26&quot;&gt;데이터 레이크 (Data Lake)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가공되지 않은 상태로 저장되어 접근이 가능한 엄청난 양의 데이터를 의미한다. 이 때 데이터는 일반적인 정형 데이터 뿐만 아니라 이미지, 동영상, 센서 데이터, 소설 데이터 등의 비정형 데이터도 포함될 수 있다. 데이터 웨어하우스는 정해진 목적에 따라 선가공되어 저장되고 관리되지만 데이터 레이크는 특별한 목적이 없이 저장하기 때문에 이를 알아볼 수 있는 메타데이터와 고유 식별자 태그를 함께 사용된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://blog.naver.com/pentamkt/222263253172&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://blog.naver.com/pentamkt/222263253172&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1642231524880&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[하루 3분 IT] 데이터 레이크(Data Lake)&quot; data-og-description=&quot;데이터 레이크(Data Lake) 한 줄 요약 다양한 구조의 원형 데이터들이 모여 있는 저장소 자세한 내용 데...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://blog.naver.com/pentamkt/222263253172&quot; data-og-url=&quot;https://blog.naver.com/pentamkt/222263253172&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/baJW4h/hyM5zHZAVk/8YDrPcpQUIRMcA37FH4hT0/img.png?width=577&amp;amp;height=581&amp;amp;face=0_0_577_581&quot;&gt;&lt;a href=&quot;https://blog.naver.com/pentamkt/222263253172&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://blog.naver.com/pentamkt/222263253172&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/baJW4h/hyM5zHZAVk/8YDrPcpQUIRMcA37FH4hT0/img.png?width=577&amp;amp;height=581&amp;amp;face=0_0_577_581');&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;[하루 3분 IT] 데이터 레이크(Data Lake)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;데이터 레이크(Data Lake) 한 줄 요약 다양한 구조의 원형 데이터들이 모여 있는 저장소 자세한 내용 데...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.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;h2 data-ke-size=&quot;size26&quot;&gt;데이터 가상화 (Data Virtualization)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분산되어 있는 데이터베이스, 파일, 빅데이터를 물리적인 데이터 이동 없이 가상 데이터 레이어로 통합하고 활용하는 개념으로 구체적으로는 인메모리에 가상의 DB를 만들어 데이터 접근 및 통합을 가능하게 해주는 방식이다. 비슷한 개념인 데이터 레이크의 경우 모아둔 데이터의 활용이 어렵다는 점과 다양한 원천 데이터 소스의 최신 데이터 재결합 등에 따라 동기화 이슈가 발생한다는 점 등의 한계점이 들어나며 데이터 가상화 기술이 급부상하고 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://m.ddaily.co.kr/m/m_article/?no=189021&quot;&gt;http://m.ddaily.co.kr/m/m_article/?no=189021&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1642231742372&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;급부상하는 데이터 가상화, 주목받는 이유는?&quot; data-og-description=&quot;[디지털데일리 백지영기자] 한 곳에 데이터를 모아놓는 개념의 &amp;lsquo;데이터 레이크(Data lake)&amp;rsquo;의 한계점이 드러나면서 최근 &amp;lsquo;데이터 가상화&amp;rsquo;가 급부상하고 있다. 데이터 가상화(Data Virtualization)는&quot; data-og-host=&quot;www.ddaily.co.kr&quot; data-og-source-url=&quot;http://m.ddaily.co.kr/m/m_article/?no=189021&quot; data-og-url=&quot;http://www.ddaily.co.kr/news/article.html?no=189021&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bHJ61k/hyM5Dp4svI/L2U6Ef4xOiTeTUwNKXEQIK/img.jpg?width=550&amp;amp;height=427&amp;amp;face=134_184_321_309&quot;&gt;&lt;a href=&quot;http://m.ddaily.co.kr/m/m_article/?no=189021&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://m.ddaily.co.kr/m/m_article/?no=189021&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bHJ61k/hyM5Dp4svI/L2U6Ef4xOiTeTUwNKXEQIK/img.jpg?width=550&amp;amp;height=427&amp;amp;face=134_184_321_309');&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;급부상하는 데이터 가상화, 주목받는 이유는?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[디지털데일리 백지영기자] 한 곳에 데이터를 모아놓는 개념의 &amp;lsquo;데이터 레이크(Data lake)&amp;rsquo;의 한계점이 드러나면서 최근 &amp;lsquo;데이터 가상화&amp;rsquo;가 급부상하고 있다. 데이터 가상화(Data Virtualization)는&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.ddaily.co.kr&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;h2 data-ke-size=&quot;size26&quot;&gt;온프레미스 (On-Premise)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌 자체적으로 전산실 서버에 직접 설치해 운영하는 방식을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&amp;amp;blogId=dktmrorl&amp;amp;logNo=221745088983&quot;&gt;https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&amp;amp;blogId=dktmrorl&amp;amp;logNo=221745088983&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1642232230873&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[IT정보] 온프레미스(On-premise) 개념&quot; data-og-description=&quot;온프레미스(On-premise)란? 온프레미스란 기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&amp;amp;blogId=dktmrorl&amp;amp;logNo=221745088983&quot; data-og-url=&quot;https://blog.naver.com/dktmrorl/221745088983&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/menOD/hyM5BZ7BGj/YXhG35FoGNk7NfVnnHIPC1/img.png?width=450&amp;amp;height=315&amp;amp;face=0_0_450_315&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&amp;amp;blogId=dktmrorl&amp;amp;logNo=221745088983&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&amp;amp;blogId=dktmrorl&amp;amp;logNo=221745088983&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/menOD/hyM5BZ7BGj/YXhG35FoGNk7NfVnnHIPC1/img.png?width=450&amp;amp;height=315&amp;amp;face=0_0_450_315');&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;[IT정보] 온프레미스(On-premise) 개념&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;온프레미스(On-premise)란? 온프레미스란 기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.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;h2 data-ke-size=&quot;size26&quot;&gt;데이터 카탈로그 (Data Catalog)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조직 내에서 구성된 데이터 자산 인벤토리로 메타 데이터를 사용하여 조직의 데이터 관리 작업을 지원한다. 즉, 조직의 모든 데이터 자산에 대한 정보를 담고 있기 때문에 데이터 웨어하우스나 데이터 레이크에 저장된 데이터를 사용자 목적에 따라 적합한 데이터를 찾고 활용할 수 있도록 도와준다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://blog.naver.com/bigbase1/222489025374&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://blog.naver.com/bigbase1/222489025374&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1642232789473&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;데이터 웨어하우스와 데이터 레이크(DATA LAKE), 데이터 카탈로그란?&quot; data-og-description=&quot;데이터 웨어하우스 데이터 레이크 데이터 카탈로그 데이터 저장소와 관련된 위 3가지의 용어는 각각 어떠한...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://blog.naver.com/bigbase1/222489025374&quot; data-og-url=&quot;https://blog.naver.com/bigbase1/222489025374&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/d8uKl8/hyM6EAVzud/SVdUpq3x2IrpK0FU8Xua60/img.png?width=743&amp;amp;height=351&amp;amp;face=0_0_743_351&quot;&gt;&lt;a href=&quot;https://blog.naver.com/bigbase1/222489025374&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://blog.naver.com/bigbase1/222489025374&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/d8uKl8/hyM6EAVzud/SVdUpq3x2IrpK0FU8Xua60/img.png?width=743&amp;amp;height=351&amp;amp;face=0_0_743_351');&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;데이터 웨어하우스와 데이터 레이크(DATA LAKE), 데이터 카탈로그란?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;데이터 웨어하우스 데이터 레이크 데이터 카탈로그 데이터 저장소와 관련된 위 3가지의 용어는 각각 어떠한...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.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;h2 data-ke-size=&quot;size26&quot;&gt;데이터 이행 (데이터 마이그레이션)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대량의 데이터를 한 위치에서 다른 위치로 옮기는 프로세스를 의미한다. 일반적으로 데이터 마이그레이션은 데이터에 대한 새로운 시스템을 도입한 결과로 발생하게 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.netapp.com/ko/knowledge-center/what-is-data-migration/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.netapp.com/ko/knowledge-center/what-is-data-migration/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1642234433516&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;데이터 마이그레이션이란? | NetApp&quot; data-og-description=&quot;NetApp과 함께 데이터를 각 위치, 형식 및 애플리케이션에서 다른 위치, 형식 및 애플리케이션으로 이동하는 데이터 마이그레이션에 대해 자세히 알아보세요.&quot; data-og-host=&quot;www.netapp.com&quot; data-og-source-url=&quot;https://www.netapp.com/ko/knowledge-center/what-is-data-migration/&quot; data-og-url=&quot;https://www.netapp.com/ko/knowledge-center/what-is-data-migration/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/byX7xI/hyM5wxLjMc/P4Fn0BjUIdpTYGEsHMgR21/img.jpg?width=1024&amp;amp;height=512&amp;amp;face=0_0_1024_512,https://scrap.kakaocdn.net/dn/BIFja/hyM5HF45fW/eVOQfN1tXKx9Ph1Pm729a1/img.jpg?width=1024&amp;amp;height=512&amp;amp;face=0_0_1024_512&quot;&gt;&lt;a href=&quot;https://www.netapp.com/ko/knowledge-center/what-is-data-migration/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.netapp.com/ko/knowledge-center/what-is-data-migration/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/byX7xI/hyM5wxLjMc/P4Fn0BjUIdpTYGEsHMgR21/img.jpg?width=1024&amp;amp;height=512&amp;amp;face=0_0_1024_512,https://scrap.kakaocdn.net/dn/BIFja/hyM5HF45fW/eVOQfN1tXKx9Ph1Pm729a1/img.jpg?width=1024&amp;amp;height=512&amp;amp;face=0_0_1024_512');&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;데이터 마이그레이션이란? | NetApp&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;NetApp과 함께 데이터를 각 위치, 형식 및 애플리케이션에서 다른 위치, 형식 및 애플리케이션으로 이동하는 데이터 마이그레이션에 대해 자세히 알아보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.netapp.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;</description>
      <category>Programming/Database</category>
      <category>CDC</category>
      <category>EAI</category>
      <category>ESB</category>
      <category>ETL</category>
      <category>On-Premise</category>
      <category>데이터 가상화</category>
      <category>데이터 레이크</category>
      <category>데이터 이행</category>
      <category>데이터 카탈로그</category>
      <category>주제영역</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/121</guid>
      <comments>https://hoojiv.tistory.com/121#entry121comment</comments>
      <pubDate>Sat, 15 Jan 2022 16:50:05 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Basic] 기본구문 (주석,변수,랜덤함수,타입변환,String,Boolean,연산자)</title>
      <link>https://hoojiv.tistory.com/119</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;주석&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1640661937434&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 한줄 주석

&quot;&quot;&quot;
여러줄
주석
&quot;&quot;&quot;&lt;/code&gt;&lt;/pre&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;font-family: 'Nanum Gothic';&quot;&gt;변수&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1640662022778&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 타입변환
x = str(3)    # x will be '3'
y = int(3)    # y will be 3
z = float(3)  # z will be 3.0

# 변수타입확인
x = 5
y = &quot;John&quot;
print(type(x))	# &amp;lt;class 'int'&amp;gt;
print(type(y))	# &amp;lt;class 'str'&amp;gt;

# 값할당
x = y = z = &quot;Orange&quot;
print(x)	# Orange
print(y)	# Orange
print(z) 	# Orange

# 여러값할당
x, y, z = &quot;Orange&quot;, &quot;Banana&quot;, &quot;Cherry&quot;
print(x)	# Orange
print(y)	# Banana
print(z)	# Cherry

# 리스트할당
fruits = [&quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;]
x, y, z = fruits
print(x)	# apple
print(y)	# banana
print(z)	# cherry&lt;/code&gt;&lt;/pre&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 279px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 15.4651%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Text Type&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;str&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(&quot;Hello World&quot;)&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;Hello World&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 15.4651%; height: 59px;&quot; rowspan=&quot;3&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Numeric Type&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;int&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(20)&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;20&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;float&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(20.5)&lt;br /&gt;print(35e3)&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;20.5&lt;br /&gt;35000.0&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 13.1395%; height: 19px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;complex&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 19px;&quot;&gt;print(3+5j)&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 19px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;(3+5j)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 15.4651%; height: 60px;&quot; rowspan=&quot;3&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Sequence Type&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;list&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print([&quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;])&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;['apple', 'banana', 'cherry']&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;tuple&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print((&quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;))&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;('apple', 'banana', 'cherry')&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;range&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(range(6))&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;range(0, 6)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 15.4651%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Mapping Type&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;dict&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print({&quot;name&quot; : &quot;John&quot;, &quot;age&quot; : 36})&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;{'name': 'John', 'age': 36}&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 15.4651%; height: 40px;&quot; rowspan=&quot;2&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Set Type&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;set&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print({&quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;})&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;{'cherry', 'banana', 'apple'}&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;frozenset&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(frozenset({&quot;apple&quot;, &quot;banana&quot;, &quot;cherry&quot;}))&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;frozenset({'apple', 'cherry', 'banana'})&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 15.4651%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Boolean Type&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;bool&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(True)&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;True&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 15.4651%; height: 60px;&quot; rowspan=&quot;3&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Binary Type&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;bytes&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(b&quot;Hello&quot;)&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;b'Hello'&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;bytearray&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(bytearray(5))&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;bytearray(b'\x00\x00\x00\x00\x00')&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 13.1395%; height: 20px;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;memoryview&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.0699%; height: 20px;&quot;&gt;print(memoryview(bytes(5)))&lt;/td&gt;
&lt;td style=&quot;width: 32.3255%; height: 20px;&quot;&gt;&lt;span style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;&amp;lt;memory at 0x00A78FA0&amp;gt;&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;h2 data-ke-size=&quot;size26&quot;&gt;랜덤함수&lt;/h2&gt;
&lt;pre id=&quot;code_1640663233205&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import random

print(random.randrange(1, 10))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;타입변환&lt;/h2&gt;
&lt;pre id=&quot;code_1640663333648&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# int로 변환
x = int(1)		# 1
y = int(2.8)	# 2
z = int(&quot;3&quot;)	# 3

# float로 변환
x = float(1)	# 1.0
y = float(2.8)	# 2.8
z = float(&quot;3&quot;)	# 3.0
w = float(&quot;4.2&quot;)# 4.2

# string으로 변환
x = str(&quot;s1&quot;)	# s1
y = str(2)		# 2
z = str(3.0)	# 3.0&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;String&lt;/h2&gt;
&lt;pre id=&quot;code_1640664203657&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 다중문자열
a = &quot;&quot;&quot;Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.&quot;&quot;&quot;
print(a)

# 문자열 배열
a = &quot;Hello, World!&quot;
print(a[0])	# H
print(a[1])	# e
print(a[2])	# l
print(a[3])	# l
print(a[4])	# o

# 문자열 for문
for x in &quot;banana&quot;:
  print(x) 

b
a
n
a
n
a

# 문자열 길이
a = &quot;Hello, World!&quot;
print(len(a))	#13

# 문자열 체크
# 특정 문자열의 포함여부를 확인할 수 있다.
txt = &quot;The best things in life are free!&quot;
if &quot;life&quot; in txt:
	print(&quot;Yes, 'life' is present.&quot;)
else:
	print(&quot;No, 'life' is not present&quot;)
    
# 문자열 자르기
b = &quot;Hello, World!&quot;
print(b[2:5])		# llo		문자열2~5번째 
print(b[:2])		# He		문자열~2번째
print(b[4:])		# o, World!	문자열4~번째
print(b[-5:-2])		# orl		문자열 뒤에서 -5~-2번째(뒤는 0이 아닌 -1부터 시작)

# 문자열 수정
a = &quot; Hello, World! &quot;
print(a.upper())	#  HELLO, WORLD! 	대문자로 변경
print(a.lower())	#  hello, world! 	소문자로 변경
print(a.strip())	# Hello, World!		문자열 앞뒤 공백제거
print(a.replace(&quot;Hello&quot;, &quot;Hi&quot;))	#  Hi, World! 문자열 치환
print(a.split(&quot;,&quot;))	# [' Hello', ' World! ']  문자열 분리

# 문자열 Format
quantity = 3
itemno = 567
price = 49.95
myorder = &quot;I want to pay {2} dollars for {0} pieces of item {1}.&quot;
print(myorder.format(quantity, itemno, price)) # I want to pay 49.95 dollars for 3 pieces of item 567&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문자열 함수&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.w3schools.com/python/python_strings_methods.asp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.w3schools.com/python/python_strings_methods.asp&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1640665430589&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;Python - String Methods&quot; data-og-description=&quot;W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.&quot; data-og-host=&quot;www.w3schools.com&quot; data-og-source-url=&quot;https://www.w3schools.com/python/python_strings_methods.asp&quot; data-og-url=&quot;https://www.w3schools.com/python/python_strings_methods.asp&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bZCHgL/hyMSWhsPOh/QZNkc5kUYSpHkygt0kXgE1/img.png?width=436&amp;amp;height=228&amp;amp;face=0_0_436_228&quot;&gt;&lt;a href=&quot;https://www.w3schools.com/python/python_strings_methods.asp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.w3schools.com/python/python_strings_methods.asp&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bZCHgL/hyMSWhsPOh/QZNkc5kUYSpHkygt0kXgE1/img.png?width=436&amp;amp;height=228&amp;amp;face=0_0_436_228');&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;Python - String Methods&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.w3schools.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;h2 data-ke-size=&quot;size26&quot;&gt;Boolean&lt;/h2&gt;
&lt;pre id=&quot;code_1640667823729&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# bool() - 값여부를 체크한다
# 모든 데이터 타입에 대해 True를 리턴하지만 
# 빈값, (), [], &quot;&quot;, 0, None, False와 같은 값에는 False를 리턴한다.
print(bool(&quot;abc&quot;))	# True
print(bool(123))	# True
print(bool([&quot;apple&quot;, &quot;cherry&quot;, &quot;banana&quot;]))	# True
print(bool(0))		# False
print(bool(&quot;&quot;))		# False
print(bool(()))		# False

# isinstance() - 변수가 특정 타입인지 체크한다.
x = 200
print(isinstance(x, int))	# True
print(isinstance(x, str))	# False&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;연산자&lt;/h2&gt;
&lt;pre id=&quot;code_1640668290217&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 지수연산
2 ** 5		# 32(2*2*2*2*2)

# 절사연산
15 // 2		# 7(15/2 = 7.5 결과에서 .5를 버림)

# in, not in : 리스트에서의 포함여부 체크 
x = [&quot;apple&quot;, &quot;banana&quot;]
print(&quot;apple&quot; in x)			# True
print(&quot;orange&quot; in x)		# False
print(&quot;orange&quot; not in x)	# 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;* w3schools.com에서 공부하면서 모르는 내용에 대해 작성함&lt;/p&gt;</description>
      <category>Programming/Python</category>
      <category>basic</category>
      <category>isinstance()</category>
      <category>python</category>
      <category>공백제거</category>
      <category>기본구문</category>
      <category>파이썬</category>
      <category>파이썬절사</category>
      <category>파이썬지수</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/119</guid>
      <comments>https://hoojiv.tistory.com/119#entry119comment</comments>
      <pubDate>Tue, 28 Dec 2021 14:12:26 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Tensorflow] Install &amp;amp; Hello World!</title>
      <link>https://hoojiv.tistory.com/116</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Install&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tensorflow는 python 명령어를 사용하여 install이 가능하다.&lt;/p&gt;
&lt;pre id=&quot;code_1640317065005&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;gt; pip3 install tensorflow&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;668&quot; data-origin-height=&quot;508&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/njd2K/btroMrfFIsS/91FYpNXiaDUBfS51hkWih1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/njd2K/btroMrfFIsS/91FYpNXiaDUBfS51hkWih1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/njd2K/btroMrfFIsS/91FYpNXiaDUBfS51hkWih1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnjd2K%2FbtroMrfFIsS%2F91FYpNXiaDUBfS51hkWih1%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;508&quot; data-origin-width=&quot;668&quot; data-origin-height=&quot;508&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹시 install이 되지 않는다면 python 버전 문제일 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3.10 버전에서는 tensorflow 제공이 되지 않기 때문에 3.9로 재설치하였다...ㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://hoojiv.tistory.com/95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://hoojiv.tistory.com/95&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1640319512986&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Python/Tutorial따라하기] python install&quot; data-og-description=&quot;python 다운로드 https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 링크로 들어가니 바로 windows용 최신 버전을 보여주었다. &amp;nbsp;정상적..&quot; data-og-host=&quot;hoojiv.tistory.com&quot; data-og-source-url=&quot;https://hoojiv.tistory.com/95&quot; data-og-url=&quot;https://hoojiv.tistory.com/95&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dwpQxV/hyMOSzWKJs/OoXWMvm82liP2wG2H6ECgk/img.png?width=800&amp;amp;height=308&amp;amp;face=0_0_800_308,https://scrap.kakaocdn.net/dn/mDSbm/hyMOSmrwdB/h8D3NEFt8XJbJAOV4u4aP1/img.png?width=800&amp;amp;height=308&amp;amp;face=0_0_800_308,https://scrap.kakaocdn.net/dn/bb2OCp/hyMOVpTNiI/OkJmPwkokcAQV0NoOkD1Ak/img.png?width=1189&amp;amp;height=459&amp;amp;face=0_0_1189_459&quot;&gt;&lt;a href=&quot;https://hoojiv.tistory.com/95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://hoojiv.tistory.com/95&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dwpQxV/hyMOSzWKJs/OoXWMvm82liP2wG2H6ECgk/img.png?width=800&amp;amp;height=308&amp;amp;face=0_0_800_308,https://scrap.kakaocdn.net/dn/mDSbm/hyMOSmrwdB/h8D3NEFt8XJbJAOV4u4aP1/img.png?width=800&amp;amp;height=308&amp;amp;face=0_0_800_308,https://scrap.kakaocdn.net/dn/bb2OCp/hyMOVpTNiI/OkJmPwkokcAQV0NoOkD1Ak/img.png?width=1189&amp;amp;height=459&amp;amp;face=0_0_1189_459');&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;[Python/Tutorial따라하기] python install&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;python 다운로드 https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 링크로 들어가니 바로 windows용 최신 버전을 보여주었다. &amp;nbsp;정상적..&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;hoojiv.tistory.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;h2 data-ke-size=&quot;size26&quot;&gt;Hello World!&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 완료된 경우 시작 메뉴에서 IDLE (python 3.9 64-bit) 프로그램을 확인할 수 있다.&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;314&quot; data-origin-height=&quot;151&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W70V3/btroPrUnZXR/WEypC5QWbARungSkppLOOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W70V3/btroPrUnZXR/WEypC5QWbARungSkppLOOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W70V3/btroPrUnZXR/WEypC5QWbARungSkppLOOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW70V3%2FbtroPrUnZXR%2FWEypC5QWbARungSkppLOOK%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;314&quot; height=&quot;151&quot; data-origin-width=&quot;314&quot; data-origin-height=&quot;151&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로그램을 실행하면 아래처럼 shell 화면이 뜨는데 메뉴에서 [New File]을 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Wu9Wj/btroPipJWzF/k1Q9FUQXUPYaQpWVUu0Jhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Wu9Wj/btroPipJWzF/k1Q9FUQXUPYaQpWVUu0Jhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Wu9Wj/btroPipJWzF/k1Q9FUQXUPYaQpWVUu0Jhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWu9Wj%2FbtroPipJWzF%2Fk1Q9FUQXUPYaQpWVUu0Jhk%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;588&quot; height=&quot;404&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성된 창에서 아래처럼 입력하고 F5를 누르거나 Run-&amp;gt;Run Module메뉴를 클릭하면 아래처럼 Shell창에서 Hello World!가 출력되는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;571&quot; data-origin-height=&quot;182&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WIKC5/btroK0YbeGk/F3Ii1gnbhkLP5s0drlEf11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WIKC5/btroK0YbeGk/F3Ii1gnbhkLP5s0drlEf11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WIKC5/btroK0YbeGk/F3Ii1gnbhkLP5s0drlEf11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWIKC5%2FbtroK0YbeGk%2FF3Ii1gnbhkLP5s0drlEf11%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;571&quot; height=&quot;182&quot; data-origin-width=&quot;571&quot; data-origin-height=&quot;182&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;589&quot; data-origin-height=&quot;183&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JJE1Z/btroPV8urjc/a58hS3edFaBKXh6zZBKvG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JJE1Z/btroPV8urjc/a58hS3edFaBKXh6zZBKvG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JJE1Z/btroPV8urjc/a58hS3edFaBKXh6zZBKvG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJJE1Z%2FbtroPV8urjc%2Fa58hS3edFaBKXh6zZBKvG0%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;589&quot; height=&quot;183&quot; data-origin-width=&quot;589&quot; data-origin-height=&quot;183&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 설치된 tensorflow 버전확인은 아래처럼 할 수 있다.&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;789&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2Fp1r/btroMq3giRX/bOjy3eoi5Q20eVwBHJ6O00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2Fp1r/btroMq3giRX/bOjy3eoi5Q20eVwBHJ6O00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2Fp1r/btroMq3giRX/bOjy3eoi5Q20eVwBHJ6O00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2Fp1r%2FbtroMq3giRX%2FbOjy3eoi5Q20eVwBHJ6O00%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;789&quot; height=&quot;240&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;240&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Programming/Python</category>
      <category>pip3 install tensorflow</category>
      <category>python</category>
      <category>tensorflow</category>
      <category>__version__</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/116</guid>
      <comments>https://hoojiv.tistory.com/116#entry116comment</comments>
      <pubDate>Fri, 24 Dec 2021 15:34:47 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Hackerrank] Strings &amp;gt; Capitalize!</title>
      <link>https://hoojiv.tistory.com/114</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Capitalize!&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You are asked to ensure that the first and last names of people begin with a capital letter in their passports. For example,&lt;span&gt;&amp;nbsp;&lt;/span&gt;alison heck&lt;span&gt;&amp;nbsp;&lt;/span&gt;should be capitalised correctly as&lt;span&gt;&amp;nbsp;&lt;/span&gt;Alison Heck.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;238&quot; data-origin-height=&quot;27&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/un6w6/btrnHSfKQG4/pv2iiDLB5lpGo2YAkCOa6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/un6w6/btrnHSfKQG4/pv2iiDLB5lpGo2YAkCOa6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/un6w6/btrnHSfKQG4/pv2iiDLB5lpGo2YAkCOa6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fun6w6%2FbtrnHSfKQG4%2Fpv2iiDLB5lpGo2YAkCOa6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;238&quot; height=&quot;27&quot; data-origin-width=&quot;238&quot; data-origin-height=&quot;27&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot;&gt;Given a full name, your task is to&lt;span&gt;&amp;nbsp;&lt;/span&gt;capitalize&lt;span&gt;&amp;nbsp;&lt;/span&gt;the name appropriately.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A single line of input containing the full name,&lt;span&gt; S&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Constraints&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;165&quot; data-origin-height=&quot;31&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt3VXB/btrnLHLwKcs/RRnPgmWNX8YVq8ktrcCeZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt3VXB/btrnLHLwKcs/RRnPgmWNX8YVq8ktrcCeZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt3VXB/btrnLHLwKcs/RRnPgmWNX8YVq8ktrcCeZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt3VXB%2FbtrnLHLwKcs%2FRRnPgmWNX8YVq8ktrcCeZ0%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;165&quot; height=&quot;31&quot; data-origin-width=&quot;165&quot; data-origin-height=&quot;31&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;The string consists of alphanumeric characters and spaces.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in a word only the first character is capitalized. Example 12abc when capitalized remains 12abc.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Output Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Print the capitalized string,&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Input&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;ebnf&quot;&gt;&lt;code&gt;chris alan
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Output&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;ebnf&quot;&gt;&lt;code&gt;Chris Alan&lt;/code&gt;&lt;/pre&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;h3 data-ke-size=&quot;size23&quot;&gt;문제해석&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력되는 문자열의 첫 번째 알파벳을 대문자로 변환하면 된다. 주의할 점은 chris alan과 같이 입력이 된다면 chris의 c와 alan의 a 2개의 문자를 변환해야 된다는 것이다.&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;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬 string method에서 지원하는 capitalize() 함수를 사용하면 첫 번째 문자를 대문자로 변환하는 것이 가능하다. 하지만 이 함수는 전체 문자열에서 첫 번째 문자에만 적용되므로 문제에서 원하는 것과 조금 다르다. 그래서 입력받은 문자열을 공백 기준으로 split한 다음 각 문자열에 대해 capitalize()를 적용하고 다시 join()하여 원하는 결과가 나오도록 하였다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1639445128875&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the solve function below.
def solve(s):
    sl = s.split(&quot; &quot;)
    for i in range(len(sl)):        
        sl[i] = sl[i].capitalize()
    
    return &quot; &quot;.join(sl)

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    s = input()

    result = solve(s)

    fptr.write(result + '\n')

    fptr.close()&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>Programming/Python</category>
      <category>capitalize</category>
      <category>hackerrank</category>
      <category>python3</category>
      <category>string</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/114</guid>
      <comments>https://hoojiv.tistory.com/114#entry114comment</comments>
      <pubDate>Tue, 14 Dec 2021 10:31:10 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Hackerrank] Strings &amp;gt; Alphabet Rangoli</title>
      <link>https://hoojiv.tistory.com/113</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Alphabet&amp;nbsp;Rangoli&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You are given an integer,&lt;span&gt; N&lt;/span&gt;. Your task is to print an alphabet rangoli of size&lt;span&gt; N&lt;/span&gt;&lt;span&gt;&lt;/span&gt;. (Rangoli is a form of Indian folk art based on creation of patterns.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Different sizes of alphabet rangoli are shown below:&lt;/p&gt;
&lt;div&gt;
&lt;pre class=&quot;bash&quot;&gt;&lt;code&gt;#size 3

----c----
--c-b-c--
c-b-a-b-c
--c-b-c--
----c----

#size 5

--------e--------
------e-d-e------
----e-d-c-d-e----
--e-d-c-b-c-d-e--
e-d-c-b-a-b-c-d-e
--e-d-c-b-c-d-e--
----e-d-c-d-e----
------e-d-e------
--------e--------

#size 10

------------------j------------------
----------------j-i-j----------------
--------------j-i-h-i-j--------------
------------j-i-h-g-h-i-j------------
----------j-i-h-g-f-g-h-i-j----------
--------j-i-h-g-f-e-f-g-h-i-j--------
------j-i-h-g-f-e-d-e-f-g-h-i-j------
----j-i-h-g-f-e-d-c-d-e-f-g-h-i-j----
--j-i-h-g-f-e-d-c-b-c-d-e-f-g-h-i-j--
j-i-h-g-f-e-d-c-b-a-b-c-d-e-f-g-h-i-j
--j-i-h-g-f-e-d-c-b-c-d-e-f-g-h-i-j--
----j-i-h-g-f-e-d-c-d-e-f-g-h-i-j----
------j-i-h-g-f-e-d-e-f-g-h-i-j------
--------j-i-h-g-f-e-f-g-h-i-j--------
----------j-i-h-g-f-g-h-i-j----------
------------j-i-h-g-h-i-j------------
--------------j-i-h-i-j--------------
----------------j-i-j----------------
------------------j------------------
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The center of the rangoli has the first alphabet letter&lt;span&gt;&amp;nbsp;&lt;/span&gt;a, and the boundary has the&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt; N^th &lt;/span&gt;alphabet letter (in alphabetical order).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Function Description&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Complete the&lt;span&gt;&amp;nbsp;&lt;/span&gt;rangoli&lt;span&gt;&amp;nbsp;&lt;/span&gt;function in the editor below.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rangoli&lt;span&gt;&amp;nbsp;&lt;/span&gt;has the following parameters:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;int size:&lt;span&gt;&amp;nbsp;&lt;/span&gt;the size of the rangoli&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Returns&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;string:&lt;span&gt;&amp;nbsp;&lt;/span&gt;a single string made up of each of the lines of the rangoli separated by a newline character (\n)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Only one line of input containing&lt;span&gt; size&lt;/span&gt;&lt;span&gt;&lt;/span&gt;, the size of the rangoli.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Constraints&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;127&quot; data-origin-height=&quot;29&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kJ22Y/btrnvz1xdoa/B5lKVGUcRqmiAGOf48fDaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kJ22Y/btrnvz1xdoa/B5lKVGUcRqmiAGOf48fDaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kJ22Y/btrnvz1xdoa/B5lKVGUcRqmiAGOf48fDaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkJ22Y%2Fbtrnvz1xdoa%2FB5lKVGUcRqmiAGOf48fDaK%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;127&quot; height=&quot;29&quot; data-origin-width=&quot;127&quot; data-origin-height=&quot;29&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;size16&quot;&gt;&lt;b&gt;Sample Input&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;5
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Output&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;bash&quot;&gt;&lt;code&gt;--------e--------
------e-d-e------
----e-d-c-d-e----
--e-d-c-b-c-d-e--
e-d-c-b-a-b-c-d-e
--e-d-c-b-c-d-e--
----e-d-c-d-e----
------e-d-e------
--------e--------&lt;/code&gt;&lt;/pre&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;h3 data-ke-size=&quot;size23&quot;&gt;문제해석&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;랑골리(rangoli)라는 것은 인도 전통 미술로 집 마당이나 거실의 바닥을 전통 문양으로 장식하는 것이라고 한다. input으로 N값을 입력받아 알파벳으로 이 랑골리 패턴을 출력해야 한다. 즉, N=3이면 a, b, c까지의 3개 알파벳으로 출력을 해야 한다. 랑골리의 가운데는 항상 첫번째 문자인 a가 들어가고 그 다음은 알파벳 순서대로 출력이 된다.&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;/h3&gt;
&lt;pre id=&quot;code_1639443676901&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def print_rangoli(size):
    # your code goes here
    alp = 'abcdefghijklmnopqrstuvwxyz'
    for i in range(size-1,-size,-1):
        rangoli = '-'.join(alp[size-1:abs(i):-1]+alp[abs(i):size])
        print(rangoli.center(4*size-3,'-'))

if __name__ == '__main__':
    n = int(input())
    print_rangoli(n)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/Python</category>
      <category>Alphabet Rangoli</category>
      <category>hackerrank</category>
      <category>python3</category>
      <category>Rangoli</category>
      <category>string</category>
      <category>랑골리</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/113</guid>
      <comments>https://hoojiv.tistory.com/113#entry113comment</comments>
      <pubDate>Fri, 10 Dec 2021 14:29:22 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Hackerrank] Strings &amp;gt; String Formatting</title>
      <link>https://hoojiv.tistory.com/112</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;String&amp;nbsp;Formatting&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Given an integer,&lt;span&gt; n&lt;/span&gt;, print the following values for each integer&lt;span&gt; i&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;from&lt;span&gt; 1&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to&lt;span&gt; n&lt;/span&gt;&lt;span&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Decimal&lt;/li&gt;
&lt;li&gt;Octal&lt;/li&gt;
&lt;li&gt;Hexadecimal (capitalized)&lt;/li&gt;
&lt;li&gt;Binary&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Function Description&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Complete the&lt;span&gt;&amp;nbsp;&lt;/span&gt;print_formatted&lt;span&gt;&amp;nbsp;&lt;/span&gt;function in the editor below.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;print_formatted&lt;span&gt;&amp;nbsp;&lt;/span&gt;has the following parameters:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;int number:&lt;span&gt;&amp;nbsp;&lt;/span&gt;the maximum value to print&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Prints&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The four values must be printed on a single line&lt;span&gt;&amp;nbsp;&lt;/span&gt;in the order specified above&lt;span&gt;&amp;nbsp;&lt;/span&gt;for each&lt;span&gt; i&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;from&lt;span&gt; 1&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to&lt;span&gt; number&lt;/span&gt;&lt;span&gt;&lt;/span&gt;. Each value should be space-padded to match the width of the&lt;span&gt;&amp;nbsp;&lt;/span&gt;binary&lt;span&gt;&amp;nbsp;&lt;/span&gt;value of&lt;span&gt; number&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and the values should be separated by a single space.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A single integer denoting&lt;span&gt; n&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Constraints&lt;/b&gt;&lt;/p&gt;
&lt;img style=&quot;caret-color: transparent; letter-spacing: 0px;&quot; src=&quot;https://blog.kakaocdn.net/dn/MQCQn/btrnyHRf6ej/6abRrecGIWGx2vOH1rCnM1/img.png&quot; data-image-src=&quot;https://blog.kakaocdn.net/dn/MQCQn/btrnyHRf6ej/6abRrecGIWGx2vOH1rCnM1/img.png&quot; data-origin-width=&quot;117&quot; data-origin-height=&quot;30&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Input&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;17
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Output&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;    1     1     1     1
    2     2     2    10
    3     3     3    11
    4     4     4   100
    5     5     5   101
    6     6     6   110
    7     7     7   111
    8    10     8  1000
    9    11     9  1001
   10    12     A  1010
   11    13     B  1011
   12    14     C  1100
   13    15     D  1101
   14    16     E  1110
   15    17     F  1111
   16    20    10 10000
   17    21    11 10001&lt;/code&gt;&lt;/pre&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;h3 data-ke-size=&quot;size23&quot;&gt;문제해석&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input으로 1~99 사이의 정수 n값을 입력받는다. Decimal, Octal, Hexadecimal(capitalized), Binary 4개의 값을 1~n까지 반복하여 출력한다. 이 때 정렬은 2진수의 길이에 맞게 공간을 확보하고 오른쪽으로 정렬하여 출력한다.&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;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 정렬을 위해 2진수의 길이를 구해야 하는데, 2진수 값 중에서도 가장 긴 길이를 기준으로 하면 된다. 그래서 w = len(bin(number)[2:]) 코드를 사용하여 입력된 n값(최대값)을 이진수로 변환하여 그 길이를 구하였다. bin(number)[2:]와 같이 [2:]를 하는 이유는 8진수의 경우에는 0o, 16진수의 경우에는 0x, 2진수의 경우에는 0b라는 값이 앞에 붙기 때문에 이것을 제거해 주기 위해서다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나서는 for문을 사용하여 1~n까지 루프를 돌면서 10진수, 8진수, 16진수, 2진수를 각각 구한다. str()로 타입변환을 하는 이유는 출력할 때 rjust()함수를 사용하기 위해서다.&lt;/p&gt;
&lt;pre id=&quot;code_1639113540268&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def print_formatted(number):
    # your code goes here    
    w = len(bin(number)[2:])    
    for i in range(1, number+1):
        v_dec = str(i)
        v_oct = str(oct(i)[2:])
        v_hex = str(hex(i)[2:].upper())
        v_bin = str(bin(i)[2:])        
               
        print(v_dec.rjust(w, ' '), v_oct.rjust(w, ' '), v_hex.rjust(w, ' '), v_bin.rjust(w, ' '))
          

if __name__ == '__main__':
    n = int(input())
    print_formatted(n)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/Python</category>
      <category>bin()</category>
      <category>hackerrank</category>
      <category>hex()</category>
      <category>oct()</category>
      <category>python3</category>
      <category>rjust()</category>
      <category>str()</category>
      <category>string formatting</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/112</guid>
      <comments>https://hoojiv.tistory.com/112#entry112comment</comments>
      <pubDate>Fri, 10 Dec 2021 14:24:08 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Hackerrank] Strings &amp;gt; Designer Door Mat</title>
      <link>https://hoojiv.tistory.com/111</link>
      <description>&lt;div&gt;
&lt;div id=&quot;fullScreenLeftPane&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Designer&amp;nbsp;Door&amp;nbsp;Mat&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mr. Vincent works in a door mat manufacturing company. One day, he designed a new door mat with the following specifications:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Mat size must be N&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;X M&lt;span&gt;&lt;/span&gt;. (N&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;is an odd natural number, and&lt;span&gt; M&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;is&lt;span&gt; 3&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;times&lt;span&gt; N&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.)&lt;/li&gt;
&lt;li&gt;The design should have 'WELCOME' written in the center.&lt;/li&gt;
&lt;li&gt;The design pattern should only use&lt;span&gt;&amp;nbsp;&lt;/span&gt;|,&lt;span&gt;&amp;nbsp;&lt;/span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;characters.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Designs&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;    Size: 7 x 21 
    ---------.|.---------
    ------.|..|..|.------
    ---.|..|..|..|..|.---
    -------WELCOME-------
    ---.|..|..|..|..|.---
    ------.|..|..|.------
    ---------.|.---------
    
    Size: 11 x 33
    ---------------.|.---------------
    ------------.|..|..|.------------
    ---------.|..|..|..|..|.---------
    ------.|..|..|..|..|..|..|.------
    ---.|..|..|..|..|..|..|..|..|.---
    -------------WELCOME-------------
    ---.|..|..|..|..|..|..|..|..|.---
    ------.|..|..|..|..|..|..|.------
    ---------.|..|..|..|..|.---------
    ------------.|..|..|.------------
    ---------------.|.---------------
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A single line containing the space separated values of&lt;span&gt; N&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt; M&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Constraints&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;145&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5krxi/btrnvz7ILYu/yPE0dmzFHyvorjS9gOgSF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5krxi/btrnvz7ILYu/yPE0dmzFHyvorjS9gOgSF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5krxi/btrnvz7ILYu/yPE0dmzFHyvorjS9gOgSF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5krxi%2Fbtrnvz7ILYu%2FyPE0dmzFHyvorjS9gOgSF1%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;145&quot; height=&quot;59&quot; data-origin-width=&quot;145&quot; data-origin-height=&quot;59&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Output Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Output the design pattern.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Input&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;basic&quot;&gt;&lt;code&gt;9 27
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Output&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;------------.|.------------
---------.|..|..|.---------
------.|..|..|..|..|.------
---.|..|..|..|..|..|..|.---
----------WELCOME----------
---.|..|..|..|..|..|..|.---
------.|..|..|..|..|.------
---------.|..|..|.---------
------------.|.------------
&lt;/code&gt;&lt;/pre&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;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Vincent라는 사람이 매트를 만든다고 한다. 매트의 사이즈는 반드시 N x M 사이즈인데 아래와 같은 제약 조건이 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N : 홀수의 정수여야 한다.&lt;/li&gt;
&lt;li&gt;M : N의 3배여야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매트는 가운데에 'WELCOME'이라는 문구가 들어가도록 디자인하여야 하고, 디자인 패턴은 |, ., - 3가지 문자로 가능하다.&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;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 패턴문제는 업무에 쓰일 확률이 없기 때문에,, 그냥 Discussions에서 코드만 확인하였다.&lt;/p&gt;
&lt;pre id=&quot;code_1639109194032&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;n, m = map(int,input().split())
pattern = [('.|.'*(2*i + 1)).center(m, '-') for i in range(n//2)]
print('\n'.join(pattern + ['WELCOME'.center(m, '-')] + pattern[::-1]))&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>Programming/Python</category>
      <category>Designer Door Mat</category>
      <category>hackerrank</category>
      <category>python3</category>
      <category>string</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/111</guid>
      <comments>https://hoojiv.tistory.com/111#entry111comment</comments>
      <pubDate>Fri, 10 Dec 2021 13:05:03 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Hackerrank] Strings &amp;gt; Text Wrap</title>
      <link>https://hoojiv.tistory.com/110</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Text&amp;nbsp;Wrap&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Check&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.hackerrank.com/challenges/text-wrap/tutorial&quot;&gt;Tutorial&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;tab to know how to to solve.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You are given a string&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and width&lt;span&gt; W&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;br /&gt;Your task is to wrap the string into a paragraph of width&lt;span&gt; W&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Function Description&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Complete the&lt;span&gt;&amp;nbsp;&lt;/span&gt;wrap&lt;span&gt;&amp;nbsp;&lt;/span&gt;function in the editor below.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;wrap&lt;span&gt;&amp;nbsp;&lt;/span&gt;has the following parameters:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;string string:&lt;span&gt;&amp;nbsp;&lt;/span&gt;a long string&lt;/li&gt;
&lt;li&gt;int max_width:&lt;span&gt;&amp;nbsp;&lt;/span&gt;the width to wrap to&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Returns&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;string:&lt;span&gt;&amp;nbsp;&lt;/span&gt;a single string with newline characters ('\n') where the breaks should be&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;The first line contains a string,&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; string&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The second line contains the width,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;103&quot; data-origin-height=&quot;26&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZLdOk/btrnpzlV2LU/j7KnWhpz5E0B57FAqjKLz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZLdOk/btrnpzlV2LU/j7KnWhpz5E0B57FAqjKLz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZLdOk/btrnpzlV2LU/j7KnWhpz5E0B57FAqjKLz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZLdOk%2FbtrnpzlV2LU%2Fj7KnWhpz5E0B57FAqjKLz0%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;103&quot; height=&quot;26&quot; data-origin-width=&quot;103&quot; data-origin-height=&quot;26&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;size16&quot;&gt;&lt;b&gt;Constraints&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;249&quot; data-origin-height=&quot;54&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q4spi/btrnpOwJPuk/sgWKt9JFdqlVJjFbnyoD80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q4spi/btrnpOwJPuk/sgWKt9JFdqlVJjFbnyoD80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q4spi/btrnpOwJPuk/sgWKt9JFdqlVJjFbnyoD80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq4spi%2FbtrnpOwJPuk%2FsgWKt9JFdqlVJjFbnyoD80%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;249&quot; height=&quot;54&quot; data-origin-width=&quot;249&quot; data-origin-height=&quot;54&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Input 0&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;ABCDEFGHIJKLIMNOQRSTUVWXYZ
4&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Output 0&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;ebnf&quot;&gt;&lt;code&gt;ABCD
EFGH
IJKL
IMNO
QRST
UVWX
YZ&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; font-size: 1.44em; letter-spacing: -1px;&quot;&gt;문제해석&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input으로 S라는 string값과 w라는width 값이 입력된다. string을 width 길이로 잘라서 출력하면 된다. 샘플에서는 ABCDEFGHIJKLIMNOQRSTUVWXYZ라는 string과 4라는 width가 입력되었으므로, ABCD, EFGH 이런 식으로 잘라서 출력이 되었다.&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제풀이&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 첫 번째 줄에 import textwrap 이라는 구문으로 힌트를 얻어서 검색을 해보았더니 textwrap.wrap()함수를 사용하면 간단히 문제풀이가 가능하였다. 문자열 래핑은 문자열이 너무 길어질 경우 특정 길이에서 줄바꿈을 하려고 할 때 사용할 수 있다고 한다. 아래는 참고한 링크이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://wikidocs.net/104608&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://wikidocs.net/104608&lt;/a&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;textwrap.wrap() 함수는 리턴값으로 list를 반환하여 결과값이 아래와 같이 나왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;['ABCD',&amp;nbsp;'EFGH',&amp;nbsp;'IJKL',&amp;nbsp;'IMNO',&amp;nbsp;'QRST',&amp;nbsp;'UVWX',&amp;nbsp;'YZ']&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것을 '\n'.join(wrap_text) 구문을 사용하여 줄바꿈해주도록 하였다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1639108406895&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import textwrap

def wrap(string, max_width):
    wrap_text = textwrap.wrap(string, max_width)
    return '\n'.join(wrap_text)

if __name__ == '__main__':
    string, max_width = input(), int(input())
    result = wrap(string, max_width)
    print(result)&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Discussions&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Discussions에서는 textwrap.wrap()함수를 사용하지 않고 for문을 사용하여 출력하였다.&lt;/p&gt;
&lt;pre id=&quot;code_1639108593724&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def wrap(string, max_width):
    return &quot;\n&quot;.join([string[i:i+max_width] for i in range(0, len(string), max_width)])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/Python</category>
      <category>hackerrank</category>
      <category>join()</category>
      <category>python3</category>
      <category>Text Wrap</category>
      <category>wrap()</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/110</guid>
      <comments>https://hoojiv.tistory.com/110#entry110comment</comments>
      <pubDate>Thu, 9 Dec 2021 12:59:37 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Hackerrank] Strings &amp;gt; Text Alignment</title>
      <link>https://hoojiv.tistory.com/109</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Text&amp;nbsp;Alignment&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;In Python, a string of text can be aligned&lt;span&gt;&amp;nbsp;&lt;/span&gt;left, right&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;center.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;.ljust(width)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This method returns a left aligned string of length&lt;span&gt;&amp;nbsp;&lt;/span&gt;width.&lt;/p&gt;
&lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; width = 20
&amp;gt;&amp;gt;&amp;gt; print 'HackerRank'.ljust(width,'-')
HackerRank----------  
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;.center(width)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This method returns a centered string of length&lt;span&gt;&amp;nbsp;&lt;/span&gt;width.&lt;/p&gt;
&lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; width = 20
&amp;gt;&amp;gt;&amp;gt; print 'HackerRank'.center(width,'-')
-----HackerRank-----
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;.rjust(width)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This method returns a right aligned string of length&lt;span&gt;&amp;nbsp;&lt;/span&gt;width.&lt;/p&gt;
&lt;pre class=&quot;ruby&quot;&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; width = 20
&amp;gt;&amp;gt;&amp;gt; print 'HackerRank'.rjust(width,'-')
----------HackerRank
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Task&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You are given a partial code that is used for generating the&lt;span&gt;&amp;nbsp;&lt;/span&gt;HackerRank Logo&lt;span&gt;&amp;nbsp;&lt;/span&gt;of variable&lt;span&gt;&amp;nbsp;&lt;/span&gt;thickness.&lt;br /&gt;Your task is to replace the blank (______) with&lt;span&gt;&amp;nbsp;&lt;/span&gt;rjust, ljust&lt;span&gt;&amp;nbsp;&lt;/span&gt;or&lt;span&gt;&amp;nbsp;&lt;/span&gt;center.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A single line containing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;thickness&lt;span&gt;&amp;nbsp;&lt;/span&gt;value for the logo.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Constraints&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The&lt;span&gt;&amp;nbsp;&lt;/span&gt;thickness&lt;span&gt;&amp;nbsp;&lt;/span&gt;must be an&lt;span&gt;&amp;nbsp;&lt;/span&gt;odd&lt;span&gt;&amp;nbsp;&lt;/span&gt;number.&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;163&quot; data-origin-height=&quot;31&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDdYGW/btrnoCDIDa0/cIR9bSluGCzXtsKAH3d9I1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDdYGW/btrnoCDIDa0/cIR9bSluGCzXtsKAH3d9I1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDdYGW/btrnoCDIDa0/cIR9bSluGCzXtsKAH3d9I1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDdYGW%2FbtrnoCDIDa0%2FcIR9bSluGCzXtsKAH3d9I1%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;163&quot; height=&quot;31&quot; data-origin-width=&quot;163&quot; data-origin-height=&quot;31&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;size16&quot;&gt;&lt;b&gt;Output Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;Output the desired logo.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Input&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;5
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Output&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;    H    
   HHH   
  HHHHH  
 HHHHHHH 
HHHHHHHHH
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHHHHHHHHHHHHHHHHHHHHHH   
  HHHHHHHHHHHHHHHHHHHHHHHHH   
  HHHHHHHHHHHHHHHHHHHHHHHHH   
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHH               HHHHH             
  HHHHH               HHHHH             
                    HHHHHHHHH 
                     HHHHHHH  
                      HHHHH   
                       HHH    
                        H &lt;/code&gt;&lt;/pre&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;h3 data-ke-size=&quot;size23&quot;&gt;문제해석&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬에는 아래와 같이 정렬을 해주는 함수가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. str.ljust(width, n) - str이 왼쪽으로 오도록 하고 n문자를 width만큼 채운다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. str.center(width, n) - str이 가운데에 오도록하고 n문자를 width만큼 채운다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. str.rjust(width, n) - str이 오른쪽으로 오도록 하고 n문자를 width만큼 채운다.&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;코드창에 해커랭크의 로고를 출력하는 코드의 일부분이 있다. 이 코드는 완벽하지 않고 중간중간 (______) 이런 식으로 빈칸이 존재하는데 이 것을 ljust, center, rjust 3개 함수 중 적당한 것을 골라서 변경해주면 된다.&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;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제는 그냥 가능한 경우의 수를 입력하면서 풀었다....&lt;/p&gt;
&lt;pre id=&quot;code_1639021762198&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#Replace all ______ with rjust, ljust or center. 

thickness = int(input()) #This must be an odd number
c = 'H'

#Top Cone
for i in range(thickness):
    print((c*i).rjust(thickness-1)+c+(c*i).ljust(thickness-1))
    
#Top Pillars
for i in range(thickness+1):
    print((c*thickness).center(thickness*2)+(c*thickness).center(thickness*6))    

#Middle Belt
for i in range((thickness+1)//2):
    print((c*thickness*5).center(thickness*6))    
    
#Bottom Pillars
for i in range(thickness+1):
    print((c*thickness).center(thickness*2)+(c*thickness).center(thickness*6))     

#Bottom Cone
for i in range(thickness):
    print(((c*(thickness-i-1)).rjust(thickness)+c+(c*(thickness-i-1)).ljust(thickness)).rjust(thickness*6))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/Python</category>
      <category>center</category>
      <category>hackerrank</category>
      <category>ljust</category>
      <category>python3</category>
      <category>rjust</category>
      <category>string</category>
      <category>text alignment</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/109</guid>
      <comments>https://hoojiv.tistory.com/109#entry109comment</comments>
      <pubDate>Thu, 9 Dec 2021 12:50:43 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Hackerrank] Strings &amp;gt; String Validators</title>
      <link>https://hoojiv.tistory.com/108</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;String&amp;nbsp;Validators&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Python has built-in string validation methods for basic data. It can check if a string is composed of alphabetical characters, alphanumeric characters, digits, etc.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://docs.python.org/2/library/stdtypes.html#str.isalnum&quot;&gt;str.isalnum()&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;This method checks if all the characters of a string are alphanumeric&lt;span&gt;&amp;nbsp;&lt;/span&gt;(a-z, A-Z and 0-9).&lt;/p&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; print 'ab123'.isalnum()
True
&amp;gt;&amp;gt;&amp;gt; print 'ab123#'.isalnum()
False
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://docs.python.org/2/library/stdtypes.html#str.isalpha&quot;&gt;str.isalpha()&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;This method checks if all the characters of a string are alphabetical&lt;span&gt;&amp;nbsp;&lt;/span&gt;(a-z and A-Z).&lt;/p&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; print 'abcD'.isalpha()
True
&amp;gt;&amp;gt;&amp;gt; print 'abcd1'.isalpha()
False
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://docs.python.org/2/library/stdtypes.html#str.isdigit&quot;&gt;str.isdigit()&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;This method checks if all the characters of a string are digits&lt;span&gt;&amp;nbsp;&lt;/span&gt;(0-9).&lt;/p&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; print '1234'.isdigit()
True
&amp;gt;&amp;gt;&amp;gt; print '123edsd'.isdigit()
False
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://docs.python.org/2/library/stdtypes.html#str.islower&quot;&gt;str.islower()&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;This method checks if all the characters of a string are lowercase characters&lt;span&gt;&amp;nbsp;&lt;/span&gt;(a-z).&lt;/p&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; print 'abcd123#'.islower()
True
&amp;gt;&amp;gt;&amp;gt; print 'Abcd123#'.islower()
False
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://docs.python.org/2/library/stdtypes.html#str.isupper&quot;&gt;str.isupper()&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;This method checks if all the characters of a string are uppercase characters&lt;span&gt;&amp;nbsp;&lt;/span&gt;(A-Z).&lt;/p&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; print 'ABCD123#'.isupper()
True
&amp;gt;&amp;gt;&amp;gt; print 'Abcd123#'.isupper()
False
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Task&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You are given a string&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;br /&gt;Your task is to find out if the string&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;contains:&lt;span&gt;&amp;nbsp;&lt;/span&gt;alphanumeric characters, alphabetical characters, digits, lowercase and uppercase characters.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Input Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A single line containing a string&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Constraints&lt;/b&gt;&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;156&quot; data-origin-height=&quot;31&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Lyv0F/btrnpz0tfxT/qT9yUZcDTbNunbkcTmiXrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Lyv0F/btrnpz0tfxT/qT9yUZcDTbNunbkcTmiXrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Lyv0F/btrnpz0tfxT/qT9yUZcDTbNunbkcTmiXrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLyv0F%2Fbtrnpz0tfxT%2FqT9yUZcDTbNunbkcTmiXrK%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;31&quot; data-origin-width=&quot;156&quot; data-origin-height=&quot;31&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;size16&quot;&gt;&lt;b&gt;Output Format&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;In the first line, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;True&lt;span&gt;&amp;nbsp;&lt;/span&gt;if&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;has any&lt;span&gt;&amp;nbsp;&lt;/span&gt;alphanumeric characters. Otherwise, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;False.&lt;br /&gt;In the second line, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;True&lt;span&gt;&amp;nbsp;&lt;/span&gt;if&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;has any&lt;span&gt;&amp;nbsp;&lt;/span&gt;alphabetical characters. Otherwise, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;False.&lt;br /&gt;In the third line, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;True&lt;span&gt;&amp;nbsp;&lt;/span&gt;if&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;has any&lt;span&gt;&amp;nbsp;&lt;/span&gt;digits. Otherwise, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;False.&lt;br /&gt;In the fourth line, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;True&lt;span&gt;&amp;nbsp;&lt;/span&gt;if&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;has any&lt;span&gt;&amp;nbsp;&lt;/span&gt;lowercase characters. Otherwise, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;False.&lt;br /&gt;In the fifth line, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;True&lt;span&gt;&amp;nbsp;&lt;/span&gt;if&lt;span&gt; S&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;has any&lt;span&gt;&amp;nbsp;&lt;/span&gt;uppercase characters. Otherwise, print&lt;span&gt;&amp;nbsp;&lt;/span&gt;False.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Input&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;qA2
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Sample Output&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;yaml&quot;&gt;&lt;code&gt;True
True
True
True
True&lt;/code&gt;&lt;/pre&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;h3 data-ke-size=&quot;size23&quot;&gt;문제해석&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이썬에는 아래와 같이 string validator 함수들이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. isalnum() - 문자열의 모든 값이 알파벳 또는 숫자인 경우 true를 리턴한다. (a-z, A-Z, 0-9)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. isalpha() - 문자열의 모든 값이 알파벳인 경우 true를 리턴한다. (a-z, A-Z)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. isdigit() - 문자열의 모든 값이 숫자인 경우 true를 리턴한다. (0-9)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. islower() - 문자열의 모든 값이 소문자인 경우 true를 리턴한다. (a-z)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. isupper() - 문자열의 모든 값이 대문자인 경우 true를 리턴한다. (A-Z)&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;파이썬의 validator 함수는 모든 문자열에 대하여 유효한 경우에만 true를 리턴하지만, 문제에서는 input으로 입력되는 문자열에서 하나의 문자만 일치하여도 true를 리턴하도록 하였다.&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;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열에서 일치하는 하나의 문자가 있는지를 찾으면 되므로, bool타입의 변수를 false로 셋팅하고 for문을 이용하여 일치하는 문자가 있을 경우 true로 변경하는 방법으로 하였다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1639018800727&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if __name__ == '__main__':
    s = input()  
    
    isalnum = False #alphanumeric 
    isalpha = False #alphabetical 
    isdigit = False #digits
    islower = False #lowercase 
    isupper = False #uppercase 
    
    for i in range(len(s)): 
        if s[i].isalnum(): 
            isalnum = True
        if s[i].isalpha():
            isalpha = True
        if s[i].isdigit():
            isdigit = True
        if s[i].islower():
            islower = True
        if s[i].isupper():
            isupper = True        
       
    print(&quot;{0}\n{1}\n{2}\n{3}\n{4}&quot;.format(isalnum, isalpha, isdigit, islower, isupper))&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Discussions&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래처럼 any를 사용하는 방법이 많았는데 나는 컴파일이 되지 않았다. python2에서는 정상적으로 작동하였다.&lt;/p&gt;
&lt;pre id=&quot;code_1639019002552&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if __name__ == '__main__':
    str = raw_input()  
    
    print any(c.isalnum() for c in str)
    print any(c.isalpha() for c in str)
    print any(c.isdigit() for c in str)
    print any(c.islower() for c in str)
    print any(c.isupper() for c in str)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/Python</category>
      <category>any</category>
      <category>hackerrank</category>
      <category>isalnum</category>
      <category>isalpha</category>
      <category>isdigit</category>
      <category>isLower</category>
      <category>isUpper</category>
      <category>python3</category>
      <category>string</category>
      <category>String Validators</category>
      <author>hoojiv</author>
      <guid isPermaLink="true">https://hoojiv.tistory.com/108</guid>
      <comments>https://hoojiv.tistory.com/108#entry108comment</comments>
      <pubDate>Thu, 9 Dec 2021 12:07:07 +0900</pubDate>
    </item>
  </channel>
</rss>