미래내일일경험 - 빅리더(23.06~23.12)/교육

[스터디챌린지] ICT융합대학 스터디 챌린지 1주차(7/1 ~ 7/7)

NINE1ll 2023. 7. 7. 14:50

목표

  1. 빅리더 아카데미 커리큘럼 따라가면서 깃허브 업로드
  2. 선형대수, 미적분학, 통계학개론
  3. 마크다운으로 블로그 작성하면서 마크다운 실력 키우기
  4. 프로그래머스 SQL 문제 하루 적어도 하나씩 풀기

1일차 프로그래머스 SQL 문제

[3월에 태어난 여성 회원 목록 출력하기][https://school.programmers.co.kr/learn/courses/30/lessons/131120]

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

정답 : 

더보기
    SELECT MEMBER_ID, MEMBER_NAME, GENDER, TO_CHAR(DATE_OF_BIRTH, 'YYYY-MM-DD') as date_of_birth
    FROM MEMBER_PROFILE
    WHERE TO_CHAR(DATE_OF_BIRTH, 'MM') = '03'
    AND GENDER = 'W'
    AND TLNO IS NOT NULL
    ORDER BY MEMBER_ID;

[조건에 부합하는 중고거래 댓글 조회하기]https://school.programmers.co.kr/learn/courses/30/lessons/164673

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

정답 : 

더보기
select ugb.TITLE, ugb.BOARD_ID, ugr.REPLY_ID ,ugr.WRITER_ID, ugr.CONTENTS, TO_CHAR(ugr.CREATED_DATE, 'YYYY-MM-DD')
from USED_GOODS_BOARD ugb
join USED_GOODS_REPLY ugr on ugb.board_id = ugr.board_id
where TO_CHAR(ugb.CREATED_DATE, 'YYYY-MM') = '2022-10'
order by TO_CHAR(ugr.CREATED_DATE, 'YYYY-MM-DD'), ugb.TITLE;

- 알고리즘  & 자료구조

자료구조와 알고리즘을 배우는 이유는 단순하게 비유하면

과연 책을 쌓아두는 것이 꺼낼 때 편할까, 책을 책장에 넣어 두는 것이 편할까?

생각해보면 책장에 넣어두는 것이 편하다. 

이처럼 우리는 자료구조와 사용법을 배우고 어떤 경우에 조금 더 편할까? 를 고민해보기 위해 알고리즘과 자료구조를 배우는 것이다.

1. 스택 (Stack)

최근에 (3-1학기) 컴퓨터 아키텍쳐에서 0주소 방법에서 사용하던 스택이다. 후입선출(LIFO)의 구조를 가지고 있다. 단순하게 생각하면 길고 좁은 컵에 큰 사각얼음을 계속 채운다고 생각하면 편하다. 

얼을을 넣는 과정을 Push, 얼음을 빼는 과정을 Pop이라고 한다. 

간단하게 list로 구현해보면

x = []

x.append('O')
x.append('ㅅ')
x.append('X')

x.pop() #X

이런식이 된다.

2. 큐(Queue)

선입선출(FIFO)의 구조를 가진 친구다. 대기 행렬이라고도 한다. 간단하게 예시를 들어보면 1인승 에스컬레이터라고 생각하면 편하다.

--- 둘이 사용되어야하는 상황을 생각해보자

1) 놀이기구를 타기 위해 줄을 서는 경우

2) 맨 마지막에 넣은 원소가 궁금한 경우


2일차 백준

https://www.acmicpc.net/problem/10828 

 

10828번: 스택

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

어제 스택을 공부했으니까 스택. 파이썬은 스택을 지원안해서 list로 간단하게 구현 가능

정답 : 

더보기
import sys 
n = int(sys.stdin.readline()) 

stack = []

for _ in range(n):
    s = sys.stdin.readline().split() 
    if s[0] == 'push':
        stack.append(s[1])
    elif s[0] == 'pop':
        if len(stack)>0: print(stack.pop())
        else: print(-1)
    elif s[0] == 'size':
        print(len(stack))
    elif s[0] == 'empty':
        if len(stack)==0: print(1)
        else: print(0)
    elif s[0] == 'top':
        if len(stack)>0: print(stack[-1])
        else: print(-1)

SQL : 강원도에 위치한 생산공장 목록 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/131112

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

정답 : 

더보기
SELECT FACTORY_ID,FACTORY_NAME,ADDRESS
from FOOD_FACTORY
where ADDRESS like '%강원도%'
order by factory_id;