목록분류 전체보기 (122)
어디까지 갈 수 있을까?
ctrl + shift + enter 줄끝에 ; 붙이기 문장 자동 완성 완성된 문장이면 다음 라인으로 넘어가기 alt + insert 코드 생성(getter/setter) alt + enter import 되지 않은 class import 해줌 현재 코드에 대한 제안 표시 shift + f6 이름 일괄 변경 ctrl + alt + v 리턴 변수 자동 생성 ctrl + alt + m 메소드 추출 ctrl + d 라인 복제 ctrl + y 라인 삭제 ctrl + p 현재 메소드의 파라미터 정보 조회 f4 해당 클래스 파일로 이동 ctrl + w 단어 선택, 여러번 누르면 범위 넓어짐 alt + shift + ↑ ↓ 한 줄 이동 ctrl + alt + L 자동정렬 f2 오류 난 곳으로 바로 이동 shit + ..
1. Set, List, Map 차이 2. Map 사용법 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 import java.util.*; public class map { public static void main(String[] args) { // HashMap Map a = new HashMap(); a.put("one", 1); a.put("two", 2); a.put("three", 3); a.put("four", 4); System.out.println(a.get("one")); System.out.println(a.get("two")); System.out...
알고리즘 문제를 접했을 때 '서로 다른 개체가 연결되어 있다' = '여러 개의 도시가 연결되어 있다'와 같은 내용이 나오면 그래프 알고리즘을 의심해보자 1. union-find(합집합 찾기, 서로소 집합) 차후 크루스칼 알고리즘과 위상 정렬에서 사이클이 발생했는지 판별할 때 사용한다 union-find 연산을 통해 최종 부모노드를 찾아가는 알고리즘이다 union(A, B)를 한다면 둘 중 부모노드의 값이 더 작은 노드로 합쳐진다 ① 그래프 생성 부모 노드 배열을 만들고 자기자신을 가리키는 것으로 초기화한다 union(4, 5) -> union(3, 4) -> union(2, 3) -> union(1, 2) 순으로 진행하기로 한다 ② union(4, 5) union(4, 5)가 진행되면 4와 5번 노드 중..
나우푸드 퀘르세틴. 아이허브에서 판다 하루에 2알씩 점심먹고 먹었는데 3달정도 꾸준히 먹었다. 효과를 본 건 먹고 난 2주 후부터 원래 주말마다 감기몸살로 드러눕고 환절기마다 감기를 달고 살았는데 퀘르세틴 먹고 남들보다 감기에 튼튼해졌다 운동도 병행했는데 운동 한 지는 1년 정도 됐으니 퀘르세틴 효과는 확실히 있어 보인다. 휴지로 코를 닦으면 코가 자주 헐어서 닥터아토 콧물 전용티슈를 애용했었다. 올리브영이랑 쿠팡에 판다. 근데 퀘르세틴을 먹은 후에는 콧물 닦을 일이 없어져서 안 쓰게 됐다. 물티슈 재질인데 물티슈보다 부드럽고 아기들도 사용하는 제품이라 피부에 자극이 덜간다
문제링크 www.acmicpc.net/problem/2224 [답코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 import sys input = sys.stdin.readline INF = int(1e9) # 무한을 의미하는 값으로 10억을 설정 # 2차원 리스트(그래프 표현)를 만들고, 모든 값을 무한으로 초기화 graph = [[INF] * (52) for _ in range(52)] for..
문제링크 www.acmicpc.net/problem/11403 [답코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import sys input = sys.stdin.readline INF = int(1e9) # 무한을 의미하는 값으로 10억을 설정 n = int(input()) graph=[] for _ in range(n): graph.append(list(map(int, input().split()))) # 점화식에 따라 플로이드 워셜 알고리즘을 수행 for k in range(n): for a in range(n): for b in range(n): if graph[a][k] and graph[k][b] : graph[a][b]=1..
다익스트라 알고리즘 -한 지점에서 다른 특정 지점까지의 최단 경로를 구하는 경우 -일차원배열 사용 플로이드 워셜 알고리즘 -모든 지점에서 다른 모든 지점까지의 최단 경로를 모두 구하는 경우 -중간노드 이용 -이차원 배열 사용 1. 다익스트라 알고리즘 특정한 노드에서 각 노드까지의 최단 거리를 구해주는 알고리즘 매번 '가장 비용이 적은 노드'를 선택하기 때문에 그리디 알고리즘으로 분류된다 우선순위 큐를 사용해 구현하면 시간 복잡도 O(ElogV)이 보장된다 거리를 우선순위로 큐에 삽입하기 때문에 거리가 짧은 노드부터 탐색하게 된다 다익스트라 알고리즘의 원리는 다음과 같다. 1. 출발 노드를 설정한다 2. 최단 거리 테이블을 초기화한다. 3. 방문하지 않은 노드 중 최단 거리가 가장 짧은 노드를 선택한다. ..
전에 계산한 값들을 기반으로 현재 값을 구하면 된다 31, 32번 모두 비슷한 유형의 문제 dp문제는 그림을 그려 푸는 게 점화식 세우기 쉬운 듯 하다 31. 금광 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import sys input=sys.stdin.readline for _ in range(int(input().rstrip())): #n*m n, m=map(int, input().split()) arr=list(map(int, input().split())) d=[] i=0 d.append([0]*m) for _ in range(n): d.append(arr[i:i+m]) i+=m d.append([0] *..