IT To do and To was

22년 11월 28일_한달이나 지났네, SQL, 이것이

금호동짜세 2022. 11. 28. 21:50
728x90
반응형

월요일[시간이 빠르다. 빛과 같이]

 

날이 쌀쌀하다. 마치 내 마음과 같이

 

오늘 뭐 하나를 알았는데 일어나자마자하는 행동 1시간이 굉장히 중요하다고 한다.

또한 todo list가 아닌 not to do list가 중요하다고 하더라

 

이젠 not to do list 도 기재하려한다.

 

Not to do list

. 나 미워하기

. 부정적 감정 갖고있기

. 하고자하는 거 참기

 

 

1. SQL 프로그래머스 정복

2. 이것이

3. 알고리즘

4. 면접준비

 

1>

즐겨찾기가 가장 많은식당

SELECT FOOD_TYPE, REST_ID, REST_NAME, MAX(FAVORITES) AS FAVORITES FROM REST_INFO
GROUP BY FOOD_TYPE
ORDER BY FOOD_TYPE DESC

식품 분류별 가장 비싼 식품의 정보 조회하기

값은 제대로 나왔는데 왜 정답처리를 안해주시는 거에여 프로그래머스...!ㅜㅜㅠ

우유와 요거트가 담긴 장바구니

SELECT CART_ID  FROM CART_PRODUCTS
WHERE NAME LIKE '%Milk%'AND CART_ID = ANY(SELECT CART_ID FROM CART_PRODUCTS
                                         WHERE NAME LIKE '%Yogurt%')
                                        GROUP BY CART_ID
ORDER BY CART_ID

 

2>

미로탈출

설명: N x M 크기의 직사각형형태의 미로에 갇혀있다. 미로에는 여러 마리의 괴물이 있어 이를 피해 탈출해야 한다. 위치는 1,1 이고 출구는 N, M 한번에 한칸씩 이동할 수 ㅇㅆ다. 이때 괴물이 있는 부분은 0 귀물이 없는 부부은 1로 표시되어있다. 미로는 반드시 탈출할 수 있는 형태로 제시, 이 때 최소 칸의 개수를 구하시오

 

INPUT

5 6

101010

111111

000001

111111

111111

 

해설: BFS 를 이용할 때 효과적으로 해결할 수 있다 이는 가까운 노드부터 차례대로 그래프의 모든 노드를 탐색하기 때문이다.

 

답안:

from collections import deque

# N,M 을 공백으로 구분하여 입력받기
n, m = map(int, input().split())
# 2차원 리스트의 맵 정보 입력받기
graph = []
for i in range(n):
	graph.append(list(map(int, input())))
    
# 이동할 네방향 정의(상,하,좌,우)
dx = [-1,1,0,0]
dy = [0,0,-1,1]

# BFS 소스코드 구현
def bfs(x, y):
	# 큐 구현을 위해 deque 라이브러리 사용
    queue = deque()
    queue.append((x,y))
    # 큐가 빌 때까지 반복
    while queue:
    	x, y = queue.popleft()
        # 현재 위치에서 네 방향으로 위치 확인
        for i in range(4):
        	nx = x + dx[i]
            ny = y + dy[i]
            # 미로 찾기 공간을 벗어난 경우 무시
           	if nx < 0 or ny < 0 or nx >= n or y >= m :
            	continue
            # 벽인 경우 무시
            if graph[nx][ny] == 0:
            	continue
            # 해당 노드를 처음 방문하는 경우에만 최단 거리 기록
            if graph[nx][ny] ==1:
            	graph[nx][ny] = grap[x][y] + 1
                queue.append((nx,ny))
            # 가장 오른쪽 아래까지의 최단 거리 반환
            return graph[n-1][m-1]
            
        # BFS를 수행한 결과 출력
        print(bfs(0,0))

 

3>

귤고르기

from collections import Counter

def solution(k, tangerine):
    answer = 0
    sum = 0
    tan = Counter(tangerine).most_common()
    
    for t in tan:
        sum += t[1]
        answer += 1
        if sum >= k:
            return answer
    
    return answer

 

4>

특성있는 나, python을 듣고 지금 당장할 수 있는 것을 알아내어 근무하며 확신을 갖고 추진하고 있다.

 

n월 (진척도)

알고리즘 공부 4%

SQL 80%

정보처리기사 0%

토스 1%

 

// yesterday wished to today list.

. 스트레칭 및 운동 10분이라도 하기_✔️

. 월요일인 거 잊지 말기_✔️

. 면접 준비하기_✔️

. 점심약속 가기_✔️

. 프로그래머스 알고리즘 풀기_✔️

. SQL 다 풀기(프로그래머스 all level)_✔️만져만 봄

. 이것이 152p까지 수행_✔️

. 3개정도 넣기_✔️

 

tomorrow wish list

. 면접 후기 

. 도서관가기

. 알고리즘

. BFS 이해하기

. SQL 못푼 거 하나라도 풀기

 

 

728x90
반응형