<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jaehyung-99.log</title>
        <link>https://velog.io/</link>
        <description>열심히 공부하는 데이터테크놀로지 전공생입니다.</description>
        <lastBuildDate>Wed, 30 Aug 2023 12:08:28 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jaehyung-99.log</title>
            <url>https://velog.velcdn.com/images/jaehyung-99/profile/561ef7de-1d8b-4e08-9435-3b9964ceae6d/social_profile.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jaehyung-99.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jaehyung-99" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[영진닷컴 x BDA] 
SQLD 자격증 스터디 1주차!]]></title>
            <link>https://velog.io/@jaehyung-99/%EC%98%81%EC%A7%84%EB%8B%B7%EC%BB%B4-x-BDA-SQLD-%EC%9E%90%EA%B2%A9%EC%A6%9D-%EC%8A%A4%ED%84%B0%EB%94%94-1%EC%A3%BC%EC%B0%A8</link>
            <guid>https://velog.io/@jaehyung-99/%EC%98%81%EC%A7%84%EB%8B%B7%EC%BB%B4-x-BDA-SQLD-%EC%9E%90%EA%B2%A9%EC%A6%9D-%EC%8A%A4%ED%84%B0%EB%94%94-1%EC%A3%BC%EC%B0%A8</guid>
            <pubDate>Wed, 30 Aug 2023 12:08:28 GMT</pubDate>
            <description><![CDATA[<p>안녕하세요 :)
2023년 11월 18일에 있는 &#39;제51회 SQL 개발자 시험&#39; 에서 합격하기 위해 BDA 학회에서 스터디를 시작했습니다!!!</p>
<p><strong>교재 : 2023 이기적 SQL 개발자 이론서+기출문제</strong> <img src="https://velog.velcdn.com/images/jaehyung-99/post/69bcf02c-0abc-4ec9-b0fa-43977e182bc5/image.jpeg" alt=""></p>
<p>많은 분들이 자격증 공부할 때 &#39;이기적&#39; 책을 사용하시는 것 같아요!
이론서와 기출문제가 같이 있어서 자격증 취득에 완전 최고네요!
이 교재로 열심히 공부해볼게요😎</p>
<p>그럼 이번주에 학습한 내용을 복습해보겠습니다!</p>
<h4 id="1주차--20230911--0917">1주차 : 2023.09.11 ~ 09.17</h4>
<p><strong>학습 내용</strong> : Part 2 ( Section 01~Section 02) [데이터 모델링, 데이터 모델과 성능]</p>
<h3 id="part-02-데이터-모델링의-이해">Part 02 데이터 모델링의 이해</h3>
<h4 id="section-01-데이터-모델링">Section 01 데이터 모델링</h4>
<ul>
<li>데이터베이스의 3단계 구조</li>
<li>외부 스키마 : 응용프로그램 관점에서의 요구사항, 사용자 관점, DB 정의</li>
<li>개념 스키마 : 외부 스키마가 필요로 하는 데이터 모두 모아놓은 것. 설계자 관점
(=DB에 저장되는 데이터와 사용자 관계 표현 → 모든 사용자 관점 통합, 조직 전체 통합) - 내부 스키마 : 데이터베이스가 물리적으로 저장된 형식, 개발자 관점</li>
<li><em>⇨ 데이터 모델링은 통합 관점의 개념 스키마를 만들어 가는 과정*</em></li>
</ul>
<p><img src="https://velog.velcdn.com/images/jaehyung-99/post/f52403e1-0ae9-4b04-a7cc-44f0b1e005d5/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[SQLD] 합격 후기]]></title>
            <link>https://velog.io/@jaehyung-99/SQLD-%ED%95%A9%EA%B2%A9-%ED%9B%84%EA%B8%B0</link>
            <guid>https://velog.io/@jaehyung-99/SQLD-%ED%95%A9%EA%B2%A9-%ED%9B%84%EA%B8%B0</guid>
            <pubDate>Fri, 07 Jul 2023 15:56:39 GMT</pubDate>
            <description><![CDATA[<h2 id="제49회-sql-개발자sqld">제49회 SQL 개발자(SQLD)</h2>
<p>시험 일자 : 2023.06.10
합격 일자 : 2023.07.07</p>
<h3 id="기본-정보">기본 정보</h3>
<p>우선 저는 데이터테크놀로지전공 학부생입니다!
&#39;데이터베이스&#39; 라는 과목을 수강하며 SQL을 학습한 경험이 있습니다.</p>
<h3 id="공부-방법">공부 방법</h3>
<h4 id="0-순서">0. 순서</h4>
<p>저는 2과목 - 3과목 - 1과목 순으로 공부했습니다.
이유는... 합격하신 분들 후기를 보니 1과목이 외워야 하는 개념이 많아서 가장 뒤에 학습했다고 하더라구요? 뭔가 일리가 있어서.. 저도 그렇게 해봤습니다 ㅋㅋ
2과목부터 학습하니 조금이라도 아는 SQL이 반가워서 재미있게(?) 공부를 시작헀던 것 같아요! </p>
<h4 id="1-개념-정리">1. 개념 정리</h4>
<p>시험에 출제되는 개념을 학습하기 위해 개념 요약집을 찾았습니다!
개념 요약집은 &lt;데이터 전문가 포럼&gt; <a href="https://cafe.naver.com/sqlpd">https://cafe.naver.com/sqlpd</a> 에서 찾을 수 있었습니다.
요약집을 최대한 많이 보면서 머리에 익히려고 노력했어요!</p>
<h4 id="2-sql-자격검정-실전문제-책-풀이-1회독">2. SQL 자격검정 실전문제 책 풀이 (1회독)</h4>
<p><img src="https://velog.velcdn.com/images/jaehyung-99/post/2cebe2f7-5faa-4b79-8ea6-7be129a7f750/image.jpeg" alt=""></p>
<p>다들 잘 아시는 &#39;노랭이&#39; 책으로 했어요!
2회독 하기 위해 1회독때는 책에 안 풀고 노트에 풀었습니다.</p>
<p>! <em>어 나 이거 왜 틀렸지?</em> 혹은 <em>어 이거 어떻게 푸는거지?</em> 하는 문제는 YOUTUBE에 SQLD p(페이지번호) 문제번호 찾으면 풀이가 있어요! 책 해설집이 가끔 아쉽다면 풀이를 찾아보세요!</p>
<h4 id="3-개념-정리-2차">3. 개념 정리 (2차)</h4>
<p>1회독때 틀렸거나 헷갈렸던 문제를 분석하면서 
내가 어떤 개념을 잘 모르고 있는지 파악했습니다.
이후 개념 요약집에는 없으나 알아야 하는 내용과 헷갈리는 내용을 따로 노션에 정리해두었습니다!</p>
<h4 id="4-sql-자격검정-실전문제-책-풀이-2회독">4. SQL 자격검정 실전문제 책 풀이 (2회독)</h4>
<p>이번에는 책에 풀어봤어요!</p>
<h4 id="5-sqld-기출문제-풀이">5. SQLD 기출문제 풀이</h4>
<p><a href="https://yunamom.tistory.com/">https://yunamom.tistory.com/</a> yuna 님이 올려주신 문제들을 풀어봤어요! 이때 시간도 체크해보세요!</p>
<h4 id="시험-당일">시험 당일</h4>
<p>노션에 정리해두었던 개념이랑 틀린 문제들 위주로 읽으면서 시험을 준비했습니다!</p>
<h4 id="시험-후기">시험 후기</h4>
<ol>
<li>생각보다 기출문제에서 봤던 문제들과 똑같거나 유사한 내용이 많아서 놀랐어요!</li>
<li>&#39;노랭이&#39; 책에 있는 SQL 구문 관련 문제는 되게 복잡한데, 시험은 그렇지 않았어요! (책은 SQL 전문가 시험 실전문제 라는 썰이)</li>
</ol>
<h4 id="시험-결과">시험 결과</h4>
<p><img src="https://velog.velcdn.com/images/jaehyung-99/post/0cefa750-281d-4eda-a114-f0c473758d74/image.png" alt=""></p>
<p>준수한 성적(?) 으로 합격 했습니다!
여러분들도 열공하세요!</p>
<p>어쩌다보니 작년에 응시했던 ADsP 결과도 나오게 되었는데요..
작년이다 보니 기억이 날 진 모르곘지만
시간이 되면 ADsP 합격 후기도 남겨보겠습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[프로그래머스] 멀리 뛰기]]></title>
            <link>https://velog.io/@jaehyung-99/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%A9%80%EB%A6%AC-%EB%9B%B0%EA%B8%B0</link>
            <guid>https://velog.io/@jaehyung-99/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%A9%80%EB%A6%AC-%EB%9B%B0%EA%B8%B0</guid>
            <pubDate>Fri, 17 Feb 2023 08:15:21 GMT</pubDate>
            <description><![CDATA[<blockquote>
</blockquote>
<p><strong>문제 설명</strong>
효진이는 멀리 뛰기를 연습하고 있습니다. 
효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 
칸이 총 4개 있을 때, 효진이는
(1칸, 1칸, 1칸, 1칸)
(1칸, 2칸, 1칸)
(1칸, 1칸, 2칸)
(2칸, 1칸, 1칸)
(2칸, 2칸)
의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 
멀리뛰기에 사용될 칸의 수 n이 주어질 때, 
효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 
여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 
<strong>제한 사항</strong>
n은 1 이상, 2000 이하인 정수입니다.</p>
<p>먼저 n이 1일 때 부터 5일 때까지 결과값이 무엇인지 계산해보았다!
(규칙을 찾기 위함) (n=5 정도는 손으로 할 수 있으니까..)
(게다가 n이 3이랑 4일때도 예시로 주어졌다.)</p>
<blockquote>
<p>n=1 -&gt; 1
n=2 -&gt; 2
n=3 -&gt; 3
n=4 -&gt; 5
n=5 -&gt; 8
...</p>
</blockquote>
<p><em>그 결과...</em></p>
<p>n이 주어질 때 결과값은 n-1 과 n-2의 결과값의 합이라는 규칙을 발견하였다!
(포스팅 후에 어떻게 이런 규칙이 나오게 되었는지 생각해볼 예정이다.)</p>
<p>순간 무언가 내 머릿속을 스쳐갔다.
이거.. 어디서 많이 본 규칙인데..?
<strong>피보나치 수열!!!</strong>
알고리즘 초보인 나도 피보나치 수열이 생각났다니.. (그래도 나름 이과다)</p>
<p>그래서 바로 적용해보았다.</p>
<pre><code>def solution(n):
    a,b = 1,2
    if n==1:
        return 1
    elif n==2:
        return 2

    for i in range(1,n):
        a,b = b, a+b

    return a%1234567</code></pre><p>기존의 피보나치 수열이랑은 시작이 다르기 때문에
문제에 맞게 a, b값을 바꿔주었고,
n=1 일때와 n=2 일때의 예외도 생각했다.</p>
<p>그 후 반복문인 for문을 이용해서 원하는 결과를 얻을 수 있었다.</p>
<p>LV2 문제이지만.. 초보인 나는 문제를 풀었다는 사실에
매우 기쁘지 않을 수 없었다.
알고리즘 공부, 열심히 해야겠다.
-끝-</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[프로그래머스] 올바른 괄호 -3-]]></title>
            <link>https://velog.io/@jaehyung-99/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%98%AC%EB%B0%94%EB%A5%B8-%EA%B4%84%ED%98%B8-3-</link>
            <guid>https://velog.io/@jaehyung-99/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%98%AC%EB%B0%94%EB%A5%B8-%EA%B4%84%ED%98%B8-3-</guid>
            <pubDate>Fri, 27 Jan 2023 09:08:09 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jaehyung-99/post/a2ebe95b-ace1-42e9-990a-f0ef27528b19/image.png" alt="">
끼얏호!</p>
<pre><code>def solution(s):
    answer = True
    stack = []
    if s[0] == &#39;)&#39; or s[-1] == &#39;(&#39; or len(s)%2 == 1:
        return False
    for i in range(len(s)):
        if s[i] == &#39;(&#39;:
            stack.append(s[i])
        elif s[i] == &#39;)&#39; and &#39;(&#39; in stack:
            stack.pop()
        else:
            return False

    if len(stack) != 0:
        return False
    return True</code></pre><p>수정한 부분은 크게 2가지였다.
첫 번째는 &#39;(&#39; 를 만났을 때 pop이 아닌 append를 시켜주는 것으로 순서를 바꾼 것 이었고,
두 번째는 for 문 안에 elif 문을 추가하여, pop시킬 &#39;(&#39;가 없으면 False를 리턴하도록 한 것이다.</p>
<p>당장은 테스트를 통과하였지만, 다른 분들의 코드를 보면서 더 효율적인 방법은 무엇인지 고민해보려고 한다!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[프로그래머스] 올바른 괄호 -2-]]></title>
            <link>https://velog.io/@jaehyung-99/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%98%AC%EB%B0%94%EB%A5%B8-%EA%B4%84%ED%98%B8-2-</link>
            <guid>https://velog.io/@jaehyung-99/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%98%AC%EB%B0%94%EB%A5%B8-%EA%B4%84%ED%98%B8-2-</guid>
            <pubDate>Fri, 27 Jan 2023 08:53:23 GMT</pubDate>
            <description><![CDATA[<p>코드가 한층 간결해졌다.</p>
<pre><code>def solution(s):
    answer = True
    stack = []
    if s[0] == &#39;)&#39; or s[-1] == &#39;(&#39; or len(s)%2 == 1:
        return False
    for i in range(len(s)):
        if s[i] == &#39;)&#39;:
            stack.pop()
        else:
            stack.append(s[i])
    if len(stack) != 0:
        return False
    return True</code></pre><p>이번엔 모든 효율성 테스트를 통과하였다.
지난번 코드와 다른 점은 크게 2가지이다.
첫 번째는 remove() 함수 대신 pop() 함수를 사용했다는 점이다.
두 번째는 예외처리이다.
입력 s를 검사하기 전에, 괄호가 올바르지 않다는 것을 쉽게 알 수 있는 경우를 3가지로 생각하였다.</p>
<blockquote>
<ol>
<li>&#39;)&#39; 로 시작하는 경우</li>
<li>&#39;(&#39;로 끝나는 경우</li>
<li>입력된 괄호의 개수가 홀수인 경우</li>
</ol>
</blockquote>
<p>하지만 테스트 케이스 2가지(5번, 11번)를 실패(런타임 에러)하였기 때문에
다시 도전하려고 한다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[프로그래머스] 올바른 괄호 -1-]]></title>
            <link>https://velog.io/@jaehyung-99/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%8A%A4%ED%83%9D%ED%81%90-%EC%98%AC%EB%B0%94%EB%A5%B8-%EA%B4%84%ED%98%B8</link>
            <guid>https://velog.io/@jaehyung-99/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%8A%A4%ED%83%9D%ED%81%90-%EC%98%AC%EB%B0%94%EB%A5%B8-%EA%B4%84%ED%98%B8</guid>
            <pubDate>Fri, 27 Jan 2023 08:28:43 GMT</pubDate>
            <description><![CDATA[<p>프로그래머스 코딩테스트 연습을 위해
&#39;올바른 괄호&#39; 문제 풀이를 하였다. (LV2)
<img src="https://velog.velcdn.com/images/jaehyung-99/post/b446bafd-8636-4abb-bea9-7462b7832f8e/image.png" alt=""></p>
<p>처음 풀이는 &#39;스택&#39;을 활용하여 모든 정확성 테스트 케이스를 통과하였지만
효율성 테스트 2가지를 통과하지 못했다.</p>
<p>시간초과 문제를 해결해야 했고, 큰 입력이 주어졌을 때, 순차적으로 하기 전에 어떻게 하면 이 괄호가 올바른지 올바르지 않은지 테스트할까 고민하였다.</p>
<p>첫 번째 나만의 해답은, 괄호의 짝이 맞는지 테스트하자는 것이었다.
따라서 count 함수를 활용하여 &#39;(&#39; 와 &#39;)&#39;의 개수가 일치하는지 테스트하였다.</p>
<pre><code>temp.count(&#39;(&#39;) != temp.count(&#39;)&#39;)</code></pre><p>이 방법이 맞는지, 효율성 있는지 확신은 서지 않았지만,
효율성 테스트 2번을 3.06ms로 통과하였다.</p>
<p>이제 효율성 테스트 1번을 통과하기 위한 방법을 고민하려고 한다.
(고민중)</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Hi velog :)]]></title>
            <link>https://velog.io/@jaehyung-99/Hi-velog</link>
            <guid>https://velog.io/@jaehyung-99/Hi-velog</guid>
            <pubDate>Fri, 13 Jan 2023 02:48:59 GMT</pubDate>
            <description><![CDATA[<p>안녕하세요
전공 공부를 하면서 velog의 도움을 많이 받았습니다.
저도 제가 공부하면서 잘 몰랐던 내용이나 다른 사람에게 도움이 될만한 내용들을 남기고자, 
velog를 시작하려고 합니다.</p>
<p>첫 글부터 공부한 내용을 적기에는
&#39;나름 첫 글인데.. 뭐부터 적어야하지?&#39; 고민될까봐
이렇게 인사글로 시작합니다</p>
<p>모두 화이팅!</p>
]]></description>
        </item>
    </channel>
</rss>