분류 전체보기

    [MYSQL] SELECT groupby FROM Programmers

    [MYSQL] SELECT groupby FROM Programmers

    SELECT ANIMAL_TYPE, COUNT(ANIMAL_ID) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE; SELECT NAME, COUNT(ANIMAL_ID) AS COUNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME HAVING COUNT>=2 ORDER BY NAME; HAVING - GROUP의 조건 SELECT HOUR(DATETIME) AS HOUR, COUNT(ANIMAL_ID) AS COUNT FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR >=9 AND HOUR hour이라는 변수를 -1로 초기화

    [MYSQL] SELECT sum,max,min FROM Programmers

    [MYSQL] SELECT sum,max,min FROM Programmers

    SELECT MAX(DATETIME) FROM ANIMAL_INS; SELECT MIN(DATETIME) FROM ANIMAL_INS; SELECT COUNT(*) AS 'COUNT' FROM ANIMAL_INS; COUNT -갯 수 return하는 쿼리 AS -보여줄 칼럼이름 지정 SELECT COUNT(DISTINCT NAME) AS 'COUNT' FROM ANIMAL_INS WHERE NAME IS NOT NULL; DISTINCT - 중복을 제거하는 쿼리

    [MYSQL] SELECT select FROM Programmers

    [MYSQL] SELECT select FROM Programmers

    SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick'; SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NOT INTAKE_CONDITION = 'Aged'; SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID; SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME, DATETIME DESC; SELE..

    [Python] web scraping

    [Python] web scraping

    BeautifulSoup 라이브러리를 사용하면 간단하게 web scraping을 할 수 있다. BeautifulSoup 라이브러리는 HTML, XML을 분석해준다. 웹 사이트의 html을 scraping하기 위해서는 urllib 라이브러리도 함께 사용해야한다. 두 라이브러리를 함께 사용하여 웹 사이트의 html을 scraping할 수 있다. urllib option import urllib.request as request url = "https://990427.tistory.com" data = request.urlopen(url) urlopen() 함수는 url에 해당하는 웹 데이터를 가져온다. BeautifulSoup option from bs4 import BeautifulSoup html = '..

    [Python] 백준 2606

    [Python] 백준 2606

    BFS또는 DFS를 사용하는 그래프 탐색 문제다. 먼저, 입력받은 데이터는 딕셔너리로 구현하였다. 네트워크는 양방향 그래프 이므로 아래 코드와 같이 딕셔너리에 두 번 입력해야 한다. 그래프 구현 net = {} for i in range(n): a, b = map(int, input().split()) if a in net : net[a].append(b) else : net[a] = [b] if b in net : net[b].append(a) else : net[b] = [a] 같은 네트워크 상에 있는 컴퓨터를 검색하는 알고리즘은 BFS를 사용했다. visit에서 1을 빼면 1과 연결되어 있는 컴퓨터만 남게 되기 때문에 len(visit)-1을 결과로 출력했다. 전체코드 m = int(input())..

    [Python] 백준 1260

    [Python] 백준 1260

    단순히 DFS와 BFS를 구현하여 출력하면 된다. 그래프 구현 graph = [[0]*(N+1) for x in range(N+1)] for i in range(M): temp = list(map(int, input().split(' '))) graph[temp[0]][temp[1]] = 1 graph[temp[1]][temp[0]] = 1 그래프는 2차원 배열로 구현하였다. 두 정점을 연결하는 간선을 1로 바꿔준다. 양방향 그래프이기 때문에 두 번 바꿔주어야 한다. 예를들어 간선이 1과 2를 연결한다면, 2차원 배열은 다음과 같다. DFS 구현 탐색을 시작할 정점을 파라미터로 받아 dfs를 수행하는 함수이며, recursive로 구현하였다. graph에서 연결된 정점을 리스트로 만들고, 리스트에 해당하..

    [Algorithm] 너비 우선 탐색 BFS / 깊이 우선 탐색 DFS

    [Algorithm] 너비 우선 탐색 BFS / 깊이 우선 탐색 DFS

    개인적으로 어려워 하는 알고리즘,, 알고리즘 BFS는 FIFO를 원칙으로 하는 Queue로 구현한다. 탐색을 시작하는 첫 노드(root)를 queue에 넣고 탐색을 시작한다. A. queue에서 노드를 꺼낸다. B. 꺼낸 노드와 연결된 노드 중 방문하지 않은 노드를 방문하고 queue에 넣는다. queue에 노드가 없어질 때 까지 AB반복 구현 def bfs(graph, root): visit = list() queue = [root] #AB반복 while queue: temp = queue.pop(0) if temp not in visit: print(temp) visit.append(temp) queue.extend(graph[temp]) 알고리즘 DFS는 LIFO를 원칙으로 하는 Stack으로 구현..

    [Python] 백준 2231

    [Python] 백준 2231

    완전탐색하는 brute force 문제이다. 먼저 1부터 N까지 모두 고려하는 방법이있다. 내가 처음으로 제출한 답이기도 하다. 예를들어 256의 생성자를 찾기위해 1부터 순차적으로 탐색해 생성자가 나오면 종료한다. import sys N = int(input()) def Constructor(M): result = M devide = list(str(M)) for i in devide: result += int(i) return result if N < 10 : print(0) else: num = 10 while M

    [JAVA] 단일 치환 암호

    보호되어 있는 글입니다.

    [JAVA] Ceaser cipher

    보호되어 있는 글입니다.