본문 바로가기

전체 글

(61)
백준 1167번: 트리의 지름 (C++) 문제 링크 : www.acmicpc.net/problem/1167 tip) 임의의 한 점에서 제일 먼 점은 반드시 지름의 양 끝 점 중에 하나라는 사실만 생각해내면 된다. 1. 임의의 한 점에서 제일 먼 점을 찾는다. (지름의 끝 점 중 하나를 찾는다) 2. 그 점으로 부터 제일 먼 점까지의 거리를 구한다 -> 제일 먼 점을 찾는건 bfs 나 dfs로 구한다. #include #include #include #include using namespace std; vector a[100002]; bool check[100002]; int max_cost = 0; int result = 0; int find_corner(int start) { queue q; q.push(make_pair(start, 0));..
백준 12865번: 평범한 배낭 (C++) 문제 링크 : www.acmicpc.net/problem/12865 다이나믹 프로그래밍 문제이다. (knapsack 문제) 1. 특정 아이템을 넣을지 말지의 경우를 모두 저장하며 구해나간다. - 아이템 마다 결정할 때 가방의 무게가 w ~ k일 때의 모든 경우를 저장하여야 한다. (w미만은 어차피 넣을 수 없으니 고려할 필요가 없음) 2. 마지막 아이템까지 다이나믹 프로그래밍을 진행하면 결국 가방 무게가 k일때의 d[k]값이 정답이다. - knapsack문제를 2차원 배열에 저장하며 계산한다면 좀 더 이해하기 직관적일 것이다. 하지만 메모리를 아끼기 위해 1차원 배열로 알고리즘을 구현하였다. - 1차원 배열을 이용한다면 배열을 계속 갱신할 때 뒤에서 부터 갱신하여야 한다. 뒤에서 부터 갱신하여야 그 전의..
프로그래머스 SQL 문제 (MySQL) - 2 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59039 -> SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59407 -> SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID 문제 링크 : programmers.co.kr/learn/courses/30/lessons/59410 -> SELECT ANIMAL_TYPE, IFNULL(NAME,"No name"), SEX_UPON_INTAKE FROM ANIMAL_..