<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>할껀하고놀자</title>
    <link>https://vipeveloper.tistory.com/</link>
    <description>어설프고 서투르지만 꾸준히 해나가는 자기성장 블로그.</description>
    <language>ko</language>
    <pubDate>Sun, 9 Aug 2026 09:27:05 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>working_hard</managingEditor>
    <item>
      <title>#1. 30대 판교 직장인 내집마련 리얼후기</title>
      <link>https://vipeveloper.tistory.com/175</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;1. 30대, 무주택자, 미혼. &lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;나를 정의하는 말이다. 나를 정의하는 세가지 단어 중 하나를 바꾸는 계기가 되어 정리를 해보고자 한다. 나중에 이 글을 내가 다시 보며 그땐 그랬지 하며 웃을 수 있는 날이 오길 바란다. 덧붙여 내집마련에 처음 도전하시는 분들에게 도움이 되었으면 좋겠다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;나는 지난 영끌열풍이 거세게 불던 20~21년에는 집을 포기했었다.. 친구들은 다들 집을 사야한다고 했지만,, 불장에 사면 절때 안된다는 나의 본능(&lt;s&gt;주식으로 많이 잃어본게 도움이 됐던걸까??&lt;/s&gt;) 이 지금은 절때 들어가면 안된다고 말하고 있었다. 그냥 묵묵히 청약에 배팅하며 언젠가 내가 살고 있는 지역에서 청약이 된다면 당차게 들어가겠노라고 다짐했다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;하지만 23년 8월의 어느 햇살 좋은 날, 나는 청약을 포기하고 매매를 결심하게 되었고, 매매를 결심한지 1달안에 가계약을 치루게 되었다. 30대 평범한 직장인이 왜 매매를 선택하였는지, 또 어떤 집을 어떤 기준으로 선정하게 되었는지를 이야기해보려 한다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;이번 포스팅에서는 매매를 결심한 이유에 대해 정리해보려고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;2. 매매, 그거 절때 못하는거 아니야?&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;처음 판교에 발길을 내딛은 19년 경, 판교에 대해 무지했던 나는 판교 근처의 시세를 보며 경악을 금치 못했다. 24평대 아파트가 6억이 보통이었고, 30평대는 8억이 보통이었다. 애초에 사회 초년생으로서의 매매가 성립되지 않는다고 생각하고 원룸에 살며 돈을 모으기로 했다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;그러다 막상 원룸에 사니, 나름 편하고 직장과의 거리도 꽤 가까워서 그냥저냥 만족하면서 살았던 것 같다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;그러다 20년대부터 미친듯이 폭등하기 시작한 집값과 더불어, 내 맨탈도 많이 갈려나가기 시작했다. 에이,, 애초에 집은 못사는거네,, 그냥 결혼하기 전에 원룸이나 계속 살면서 돈이나 모아야겠다! 라고 생각했다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;678&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5Wj8b/btsuArUWs7E/WdEl3Ud2hnTPaMQBpAlgfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5Wj8b/btsuArUWs7E/WdEl3Ud2hnTPaMQBpAlgfk/img.png&quot; data-alt=&quot;처음 터를 잡았던 수지구청역. 신분당선이 있어 출퇴근하기 편리했다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5Wj8b/btsuArUWs7E/WdEl3Ud2hnTPaMQBpAlgfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5Wj8b%2FbtsuArUWs7E%2FWdEl3Ud2hnTPaMQBpAlgfk%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;486&quot; height=&quot;678&quot; data-origin-width=&quot;486&quot; data-origin-height=&quot;678&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;처음 터를 잡았던 수지구청역. 신분당선이 있어 출퇴근하기 편리했다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;3. 집사기. 한번 해봐?&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;23년 초까지만 해도 매매에 대한 별 생각이 없던 나는 회사 동기들이 집이야기를 할 때에도 별 생각 없이 그렇구나~ 공감해주며 반응해주었다. 입사 이후 집을 산 동기, 결혼을 하며 아파트를 매매한 직장 선배, 청약에 유리한 지역에 몸테크에 성공하여 집을 마련한 동기.. 각양 각색의 이유로 집을 매매하는 모습들을 보며 참 대단하지만 나와는 관계없다고 느꼈다. 하지만 환경이 중요하다고 했던가..? 그들을 만나며 단어 한두개씩 주워 듣다보니 나도 어느새 네이버부동산을 보며 이집은 어떨까? 저집은 어떨까? 하며 지도를 보고있는 나를 발견하게 되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;프로 망상러인 나는 네이버 지도를 보며 이 집에 살게된 나는 어떤 모습일지를 계속 상상하며 온라인 임장을 다니고 있었다.(이때까지도 절때 집은 못사는 것이라고 생각했다.)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;4. 내 기준에 맞는 집을 찾다.&lt;/h4&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;우연히 내게 다가와~~ 그냥 탁 꽂혀버렸다. 아.. 첫사랑이란 이런것일까? 해당 위치를 보자마자 사야겠다는 생각밖에 들지 않았다.(&lt;s&gt;하지만 집 계약전까지 많은 사전조사가 있었다.&lt;/s&gt;) 수많은 온라인 임장을 다니며 집 매매 시 기준을 명확히 정했으며, 그 기준에 90% 이상 부합하는 곳은 단 한곳 뿐이였다.(해당 기준은 다음에 포스팅 하려 한다.) 오늘은 그 상상만으로 내집이라고 느꼈던 집의 첫 가계약을 걸었기 때문에 이제 첫 삽을 뜬 역사적인 날이라고 생각한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;5. 마인드&lt;/h4&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;이제 집 매매 시 마인드 이야기를 해보려 한다. 적어도 한국에서 집 구매는 &quot;내가 살 집&quot;이라는 개념과 더불어 &quot;오를 집&quot; 이라는 개념이 더해지는 것 같다. 때문에 필연적으로 매매 시 &quot;오를 집&quot;을 고려하여 구매하는 것이 현명한 선택이다. 그런데,, 내가 신도 아니고 오를 집을 어떻게 알지..? 라는 생각이 들 수 있다. 나 또한 그랬고, 지금 이 포스팅을 보고 있는 여러분도 똑같은 마음으로 이 글을 보고있을지도 모른다.&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;결론부터 말하면, 나는 &quot;내가 살 집&quot;이라는 본연의 목적에 집중했다. 내가 살아도 괜찮은 집. 이 집이 살기 좋은 여러 이유 는 다른 사람이 보기에도 너무 좋은 집일 것이다. 너무 당연한 이야기를 한다고? 하지만 이 마음가짐이 너무나도 중요하다고 생각한다. 나의 경우 '안올라도 그만이야~ 내가 평생 살아도 괜찮을 것 같은데?' 라는 마인드를 가지고 집을 탐색했다. 이 마인드를 가져야 매매 이후 집값이 폭락해도 &quot;그래 괜찮아~ 어짜피 내가 살아도 너무 만족스러운 집이야&quot; 라고 하며 견뎌낼 수 있다고 생각한다. 누군가는 최고점에 아파트를 매매했다며 수군거릴 수 있다. 하지만 어떠한 환경에도 흔들리지 않을 &quot;내 기준&quot; 과 &quot;내가 살 집&quot; 에 대한 마인드만 있다면 굳건히 흔들리지 않고 묵묵히 나아갈 수 있다고 생각한다.&lt;/p&gt;</description>
      <category>집 매매 후기</category>
      <category># 30대부동산 #부동산임장 #영끌부동산 #경기도구축아파트매매 #20대영끌 #20대영끌부동산매매 #20대신용대출 #아파트매매대출 #경기도구축아파트매수 #영통아파트매수 #평촌아파트매수 #산본아</category>
      <category>20대영끌</category>
      <category>30대부동산</category>
      <category>30대영끌</category>
      <category>경기도구축아파트매매</category>
      <category>경기도구축아파트매수</category>
      <category>부동산임장</category>
      <category>아파트매매대출</category>
      <category>영끌부동산</category>
      <category>판교직장인부동산</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/175</guid>
      <comments>https://vipeveloper.tistory.com/175#entry175comment</comments>
      <pubDate>Mon, 18 Sep 2023 22:51:36 +0900</pubDate>
    </item>
    <item>
      <title>[국제무역사] 2급 정리 - 대외무역법</title>
      <link>https://vipeveloper.tistory.com/174</link>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;무역의 3대 기본법&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;대외무역법, 관세법, 외국환거래법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;수출&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;매매의 목적물인 물품이 국내에서 외국으로 이동, 그에 상응하는 경제적 대가를 취하는 행위를 의미한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;수입&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;매매의 목적물인 물품이 외국에서 국내로 이동, 그에 상응하는 경제적 대가를 지급하는 행위를 의미한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;수출입 공고&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;대외무역법상 산업통상자원부장관이 수출입 물품에 대한 직접적인 관리를 위해 제한 품목 여부 및 수출입 요령을 알려주는 기본공고를 의미한다.&lt;/li&gt;
&lt;li&gt;경제정책 목표 달성을 위한 행정규제를 주로 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;네거티브 리스트 제도&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;수출입금지, 제한 품목만 공고, 기재되지 않은 품목에 대해서는 자유롭게 수출입을 허용한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;통합 공고&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;대외무역법 이외의 다른 법령에서 해당 물품의 수출입 요건 및 절차 등을 규정하는 경우, 조정하기위해 산업통상자원부장관이 일괄적으로 수출입 요령을 발표하는 공고이다.&lt;/li&gt;
&lt;li&gt;여러 법률에 흩어진 수출입 요건을 통합하여 규정한 장관의 고시를 말한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;수출입 공고와 통합 공고를 모두 만족하는 것이 좋다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;전략 물자&lt;ul&gt;
&lt;li&gt;핵무기, 생화학무기, 미사일, 재래식 무기 등 대량파괴 무기의 개발이나 제조에 사용 가능한 물품 또는 기술, 소프트웨어&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;전략물자를 수출하고자 하는 자는 산업통상자원부장관이나 관계 행정기관장의 수출허가를 받아야 한다.&lt;/li&gt;
&lt;li&gt;자가판정&lt;ul&gt;
&lt;li&gt;전략물자 해당 여부를 무역거래자가 자체적으로 판정하는 것을 의미한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;수출실적&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;산업통상자원부장관이 정하는 기준에 해당하는 수출통관액 및 입급액을 의미한다.&lt;/li&gt;
&lt;li&gt;일반적인 유상수입은 수출통관액(FOB 가격 기준)을 인정한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;수입실적&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;산업통상자원부장관이 정하는 기준에 해당하는 수입통관액 및 지급액을 의미한다.&lt;/li&gt;
&lt;li&gt;일반적인 유상수입은 수입통관액(CIF 가격 기준)을 인정한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;원산지표시&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;홍콩 등과 같이 국가는 아니지만 독립관세영역이거나 자치권을 보유한 지역도 원산지가 될 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;수입수량 제한조치&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;특정 물품 수입으로 인해 직접적 경쟁관계에 있는 물품(쌀, 소고기) 등이 심각한 피해를 입게됨을 우려하는 경우, 필요한 범위에서 물품의 수입수량을 제한하는 조치를 시행할 수 있다. 이는 4년을 넘기면 안된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>국제무역사</category>
      <category>국제무역사 2급</category>
      <category>국제무역사 2급 정리</category>
      <category>국제무역사 정리</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/174</guid>
      <comments>https://vipeveloper.tistory.com/174#entry174comment</comments>
      <pubDate>Tue, 21 Jul 2020 13:59:58 +0900</pubDate>
    </item>
    <item>
      <title>[알고리즘] 소풍</title>
      <link>https://vipeveloper.tistory.com/173</link>
      <description>&lt;pre id=&quot;code_1576984329695&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 6.4 소풍 문제를 해결하는 (잘못된) 재귀 호출 코드

from sys import stdin
import sys

sys.stdin = open('1.txt')
# 3
# 2 1
# 0 1
# 4 6
# 0 1 1 2 2 3 3 0 0 2 1 3
# 6 10
# 0 1 0 2 1 2 1 3 1 4 2 3 2 4 3 4 3 5 4 5

def countPairings(taken, areFriend, n):
    finished = True
    for i in range(n):
        if not taken[i]: finished = False
    if finished: return 1
    ret = 0
    for i in range(n):
        for j in range(n):
            if not taken[i] and not taken[j] and areFriend[i][j]:
                taken[i] = taken[j] = True
                ret += countPairings(taken,areFriend,n)
                taken[i] = taken[j] = False
    return ret


TC = int(input())
for tc in range(TC):
    n, m = map(int, input().split())
    list = input()
    list = list.split(' ')
    areFriend = [[False] * 10 for _ in range(10)]
    taken = [False] * 10
    for li in range(0, len(list), 2):
        a = int(list[li])
        b = int(list[li + 1])
        areFriend[a][b] = areFriend[b][a] = True
    print(countPairings(taken, areFriend, n))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;중복된 경우의 수가 많다. 이를 처리해주는 새로운 알고리즘을 짜보자&lt;/p&gt;
&lt;pre id=&quot;code_1576985485861&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from sys import stdin
import sys

sys.stdin = open('1.txt')
# 3
# 2 1
# 0 1
# 4 6
# 0 1 1 2 2 3 3 0 0 2 1 3
# 6 10
# 0 1 0 2 1 2 1 3 1 4 2 3 2 4 3 4 3 5 4 5

# 6.4 소풍 문제를 해결하는 (잘못된) 재귀 호출 코드

def countPairings(taken, areFriend, n):
    finished = True
    for i in range(n):
        if not taken[i] : finished = False
    if finished: return 1
    ret = 0
    for i in range(n):
        for j in range(n):
            if not taken[i] and not taken[j] and areFriend[i][j]:
                taken[i] = taken[j] = True
                ret += countPairings(taken,areFriend,n)
                taken[i] = taken[j] = False
    return ret

# 6.5 소풍 문제를 해결하는 재귀 호출 코드

def countPairings2(taken, areFriend, n):
    firstFree = -1
    for i in range(n):
        if not taken[i] : firstFree=i
    # 기저사례 : 모든 taken이 다 True 인 경우 한가지 경우가 만들어지므로 1 반환
    if firstFree==-1: return 1
    ret = 0
    for pairWith in range(n):
        if not taken[pairWith] and areFriend[firstFree][pairWith]:
            taken[firstFree] = taken[pairWith] = True
            ret += countPairings2(taken,areFriend,n)
            taken[firstFree] = taken[pairWith] = False
    return ret

TC = int(input())
for tc in range(TC):
    n, m = map(int, input().split())
    list = input()
    list = list.split(' ')
    areFriend = [[False] * 10 for _ in range(10)]
    taken = [False] * 10
    for li in range(0, len(list), 2):
        a = int(list[li])
        b = int(list[li + 1])
        areFriend[a][b] = areFriend[b][a] = True
    # print(countPairings(taken, areFriend, n))
    print(countPairings2(taken, areFriend, n))
&lt;/code&gt;&lt;/pre&gt;</description>
      <category>[IT]/알고리즘</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/173</guid>
      <comments>https://vipeveloper.tistory.com/173#entry173comment</comments>
      <pubDate>Sun, 22 Dec 2019 12:31:37 +0900</pubDate>
    </item>
    <item>
      <title>[알고리즘] 배열에서 글자 찾아내기</title>
      <link>https://vipeveloper.tistory.com/172</link>
      <description>&lt;pre id=&quot;code_1576976588648&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 6.3 보글 게임판에서 단어를 찾는 재귀 호출 알고리즘

dx = [-1, -1, -1, 1, 1, 1, 0, 0]
dy = [-1, 0, 1, -1, 0, 1, -1, 1]

# 한글자만 검사하는 방식으로 기저사례를 찾아내었다.
def hasWord(y, x, word, a):
	# 기저사례1 : 범위 넘어가지 않기
    if (x &amp;lt; 0 or x &amp;gt;= len(a) or y &amp;lt; 0 or y &amp;gt;= len(a)):return False
    # 기저사례2 : 첫글자가 다를 경우
    if (a[y][x] != word[0]): return False
    # 위 거름망 통과 후에 길이가 1이라면 첫글자도 같고, 범위도 넘어가지 않는 경우이므로
    # 참 반환
    if (len(word) == 1): return True
    for dir in range(len(dx)):
        nextY = y + dy[dir]
        nextX = x + dx[dir]
        # if문 재귀함수 호출로, word[1:]으로 substr 해주어 word[0]처럼 한글자씩 뽑을 수 있게한다.
        if (hasWord(nextY, nextX, word[1:],a)): return True
    return False


a = [['n', 'n', 'n', 'n', 's'],
     ['n', 'e', 'e', 'e', 'n'],
     ['n', 'e', 'y', 'e', 'n'],
     ['n', 'e', 'e', 'e', 'n'],
     ['n', 'n', 'n', 'n', 'n'],]

if(hasWord(2,2,'yes',a)):
    print(&quot;성공입니다&quot;)
else:
    print(&quot;그런 글자는 없습니다.&quot;)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>[IT]/알고리즘</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/172</guid>
      <comments>https://vipeveloper.tistory.com/172#entry172comment</comments>
      <pubDate>Sun, 22 Dec 2019 10:03:15 +0900</pubDate>
    </item>
    <item>
      <title>[알고리즘] M개의 숫자에서 N개 뽑아내기</title>
      <link>https://vipeveloper.tistory.com/171</link>
      <description>&lt;pre id=&quot;code_1576976517465&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 6.2 n개의 원소 중 m개를 고르는 모든 조합을 찾는 알고리즘

def pick(n, list, toPick):
    if toPick == 0:
        print(list)
        return
    smallest = 0 if len(list) == 0 else list[-1] + 1
    for next in range(smallest, n):
        list.append(next)
        pick(n, list, toPick - 1)
        list.pop()

# 7까지의 숫자에서 4개의 숫자를 뽑고싶다.
pick(7, [], 4)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>[IT]/알고리즘</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/171</guid>
      <comments>https://vipeveloper.tistory.com/171#entry171comment</comments>
      <pubDate>Sun, 22 Dec 2019 10:02:41 +0900</pubDate>
    </item>
    <item>
      <title>[알고리즘] 삽입정렬</title>
      <link>https://vipeveloper.tistory.com/170</link>
      <description>&lt;pre id=&quot;code_1576926126232&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 삽입 정렬
list = [20,12,10,15,2]
for i in range(len(list)):
    j = i
    while(j&amp;gt;0 and list[j-1]&amp;gt;list[j]):
        list[j-1],list[j] = list[j],list[j-1]
        j-=1

print(list)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;속도 ( N~N^2)&lt;/p&gt;
&lt;p&gt;정렬되어있다면 while문을 탐색하지 않기 때문에 for문 한번만 돌게 된다.&lt;/p&gt;
&lt;p&gt;역순 정렬되어있다면 n^2번 탐색한다.&lt;/p&gt;</description>
      <category>[IT]/알고리즘</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/170</guid>
      <comments>https://vipeveloper.tistory.com/170#entry170comment</comments>
      <pubDate>Sat, 21 Dec 2019 20:03:31 +0900</pubDate>
    </item>
    <item>
      <title>[알고리즘] 버블정렬</title>
      <link>https://vipeveloper.tistory.com/169</link>
      <description>&lt;pre id=&quot;code_1576680584907&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;list = [20,12,10,15,2]
for i in range(len(list)):
    for j in range(len(list)-1-i):
        if list[j]&amp;gt;list[j+1]:
            list[j],list[j+1] = list[j+1],list[j]

print(list)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정렬 방법론.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. N번째 위치와 N+1번째 위치의 값을 비교해서, N+1번째 위치의 값이 더 클 경우 N번째와 N+1번째의 값을 교환함.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특징.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 계속 비교하므로 리스트 크기가 크면 불리하다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 정렬이 거의 된 데이터일 경우 더 유리하다.(교환이 적게 일어나므로)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 데이터가 역순인경우, 즉 최악의경우에 시간이 엄청 느리다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>[IT]/알고리즘</category>
      <category>버블정렬</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/169</guid>
      <comments>https://vipeveloper.tistory.com/169#entry169comment</comments>
      <pubDate>Wed, 18 Dec 2019 23:50:17 +0900</pubDate>
    </item>
    <item>
      <title>[알고리즘] 선택정렬</title>
      <link>https://vipeveloper.tistory.com/168</link>
      <description>&lt;pre id=&quot;code_1576667360814&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;list = [20,12,10,15,2]
for i in range(len(list)):
    for j in range(i+1,len(list)):
        if list[i]&amp;gt;list[j]:
             list[i],list[j] = list[j],list[i]

print(list)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;정렬 방법론.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 최솟값을 찾아서 0번째 위치와 바꿈.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 0번째 위치를 제외한 최솟값을 찾아서 1번째 위치와 바꿈.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. N번째까지의 위치를 제외한 최솟값을 찾아서 N번째와 바꿈.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. 끝까지 가면 성공.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특징.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1. 정렬되있는 순서로 들어오던 아니던 실행시간이 비슷하다. 항상 비교하는양이 동일하기 때문.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2. 추가적인 기억장소를 요구하지 않는다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>[IT]/알고리즘</category>
      <category>선택정렬</category>
      <category>파이썬</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/168</guid>
      <comments>https://vipeveloper.tistory.com/168#entry168comment</comments>
      <pubDate>Wed, 18 Dec 2019 20:09:32 +0900</pubDate>
    </item>
    <item>
      <title>[SW역량테스트준비] 낚시왕</title>
      <link>https://vipeveloper.tistory.com/166</link>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;상어 배열에 넣기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;낚시왕 한칸씩 이동&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;임시 배열 하나 생성(새로운 상어가 놓일 위치 지정용)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;가장 가까운 열에 있는 상어 잡기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;상어 이동&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;for문 돌리면서 방향 이동해주기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1571460533934&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sys
from sys import stdin

# sys.stdin = open('input.txt')

input = stdin.readline

r, c, m = map(int, input().split())
a = [[[0, 0, 0] for _ in range(c)] for _ in range(r)]
for _ in range(m):
    x, y, s, d, z = map(int, input().split())
    a[x-1][y-1] = [s, d-1, z]
dx, dy, ans = (-1, 1, 0, 0), (0, 0, 1, -1), 0

for t in range(c):
    b = [[[0, 0, 0] for _ in range(c)] for _ in range(r)]
    for i in range(r):
        _, _, z = a[i][t]
        if z:
            ans += z
            a[i][t] = [0, 0, 0]
            break
    for i in range(r):
        for j in range(c):
            s, d, z = a[i][j]
            if z:
                if d &amp;lt; 2:
                    ns, nd, ni = s % ((r-1)*2), d, i
                    for _ in range(ns):
                        if ni == 0 and nd == 0:
                            nd = 1
                        if ni == r-1 and nd == 1:
                            nd = 0
                        ni += dx[nd]
                    _, _, bz = b[ni][j]
                    if z &amp;gt; bz:
                        b[ni][j] = [s, nd, z]
                else:
                    ns, nd, nj = s % ((c-1)*2), d, j
                    for _ in range(ns):
                        if nj == 0 and nd == 3:
                            nd = 2
                        if nj == c-1 and nd == 2:
                            nd = 3
                        nj += dy[nd]
                    _, _, bz = b[i][nj]
                    if z &amp;gt; bz:
                        b[i][nj] = [s, nd, z]
                a[i][j] = [0, 0, 0]
    a = b[:]

print(ans)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;돌리니까 시간초과 났음.. 이유는? 한칸씩 이동하는게 시간 많이 걸린다고 합니다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;모르겠다!!!!!!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>[IT]</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/166</guid>
      <comments>https://vipeveloper.tistory.com/166#entry166comment</comments>
      <pubDate>Sat, 19 Oct 2019 20:39:27 +0900</pubDate>
    </item>
    <item>
      <title>[SW역량테스트준비] 캐슬 디펜스</title>
      <link>https://vipeveloper.tistory.com/165</link>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;궁수 3명 지정해준다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;n번만큼 돌면서&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;3명의 아쳐들과 비교한다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;거리를 비교&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;선택받은 적은 킬한다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;한칸씩 밑으로 내린다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;정답이 최대인 걸 구한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;수도코드 짜는게 솔직히 제일 중요한걸 느끼는데 하루남았네?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1571453072336&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import sys,copy
from heapq import heappush,heappop
from sys import stdin

# sys.stdin = open('input.txt')
input = stdin.readline

n,m,d = map(int,input().split())
a = [list(map(int,input().split())) for _ in range(n)]
archer = [0]*3

def kill(b):
    cnt = 0
    for _ in range(n):
        v =[]
        for idx in range(3):
            q = []
            for i in range(n):
                for j in range(m):
                    if b[i][j]==1:
                        dist = abs(n-i)+abs(archer[idx]-j)  # 이 부분 수정하였음. idx -&amp;gt; archer[idx]
                        if dist&amp;lt;=d:
                            heappush(q,(dist,j,i))
            if q:
                _,j,i = heappop(q)
                v.append((i,j))
        for i,j in v:
            if b[i][j]:
                b[i][j]=0
                cnt +=1
        for i in range(n-2,-1,-1):
            for j in range(m):
                b[i+1][j] = b[i][j]
        for i in range(m):
            b[0][i] = 0
    return cnt


ans = 0
for i in range(m):
    for j in range(i+1,m):
        for k in range(j+1,m):
            archer[0],archer[1],archer[2] = i,j,k
            b = copy.deepcopy(a)
            ans = max(ans,kill(b))
print(ans)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>[IT]</category>
      <author>working_hard</author>
      <guid isPermaLink="true">https://vipeveloper.tistory.com/165</guid>
      <comments>https://vipeveloper.tistory.com/165#entry165comment</comments>
      <pubDate>Sat, 19 Oct 2019 11:44:36 +0900</pubDate>
    </item>
  </channel>
</rss>