본문 바로가기

전체 글399

함수 함수: 일정한 동작을 수행하도록 하여 기능을 편리하게 해주는 코드return: 함수가 값을 반환 지역변수: 함수 안에서 선언된 변수전역변수: 함수 바깥에서 선언된 변수 함수가 내뱉을 값의 종류 함수이름 (함수가 받을 매개변수) {실행;} void: 반환 데이터가 없는 함수 타입void 함수이름 (함수가 받을 매개변수) {실행;} 2024. 8. 4.
플로이드-워셜 플로이드-워셜 floyd-warshall 그래프에서 최단 거리를 구하는 알고리즘모든 노드 간에 최단 경로 탐색음수 가중치 에지가 있어도 수행 가능동적 계획법의 원리를 이용해 알고리즘에 접근D[s][e] = min(D[s][e], D[s][k] + D[k][e])1. 리스트 선언하고 초기화하기s == e 인 경우, 0s != e 인 경우, 무한2. 최단거리 리스트에 그래프 데이터 저장3. 점화식으로 리스트 업데이트하기 (n: 노드 개수)for 경유지 k에 대해(1, n):    for 출발노드 s에 대해(1, n):        for 도착노드 e에 대해(1, n):            D[s][e] = min(D[s][e], D[s][k] + D[k][e]) 2024. 8. 3.
Deepest Leaves Sum 첫번쨰 코드 트리 class를 다루는 경우는 처음이어서,gpt에게 설명을 들으면서 코드를 적어나갔다. 여기서 정리할 것은, 주어진 트리는 TreeNode 클래스를 사용하여 정의- 트리의 각 노드는 val이라는 값- 왼쪽 자식 노드를 가리키는 left- 오른쪽 자식 노드를 가리키는 right 코드 자체는 BFS를 이용하여 작성하였다.root를 시작으로 해당 값을 더한 후left나 right가 있으면 다시 넣은 후, sum을 다시 0으로 만드는 과정을 반복한다. 만약에 left나 right가 더 이상 아무것도 없으면해당 값은 마지막 leave로 가장 깊은 node가 될 것이다. # Definition for a binary tree node. class TreeNode:     def __init__(sel.. 2024. 8. 2.
Here’s What Alcohol Does to the Gut Here’s What Alcohol Does to the GutBY LINDA CARROLLJULY 22, 2024 11:08 AM EDT술이 약으로 쓰일 수 있지만, 술이 병을 만들수도 있다. 이는 대체로 아는 사실이다.술이 소화기관에 영향을 주는 것은 알고 있었지만, 이렇게 많은 영향을 주는 줄은 몰랐다.정말로 장에 염증이 있는 사람들은 조심해야 할 것 같다. 근데 술이 염증에 굉장히 좋지 않은 것으로 알고 있는데, 장 염증 뿐만 아니라 염증이 있는 사람들은 자제 하는 것이 좋다.아프면 술은 참도록 하자! 그래야 금방 건강해진다! 그때 마셔도 늦지 않으니까! 그리고 예전에는 술을 마시게 하는 문화가 많았고, 지금도 사람들끼리 술을 많이 마시지만이제는 마시지 않는다고 해서 그 사람을 낙인찍는 일은 별로.. 2024. 8. 2.
072 최솟값 첫번째 코드 물론 코드는 책을 참고했지만, 이전에  풀어본 세그먼트 코드에서해당 코드 부분마다 이해를 했기 때문에, 어느 코드를 빼야 하는지, 바꿔야 하는지에 대한 이해는 쉬웠다. 여러번 풀어보면 금방 풀 수 있을 것 같다.하지만 코드를 혼자 작성하는 데에는 단계단계 생각하면서 작성해야 할 것이다.또한 개념에서 암기를 해야 편한 부분이 있기 때문에 해당 부분도 이해해야 할 것이다. 나아가 함수가 많아지기 때문에 각 함수가 어디에 필요한지, 어떤 함수가 필요한지 익숙해져야 할 것이다. import sys input = sys.stdin.readline n, m = map(int, input().split()) treeHeight = 0 length = n while length != 0:     lengt.. 2024. 8. 1.
071 구간 합 구하기 첫번째 코드 세그먼트 트리에 관련된 문제이다.개념에 따라서 천천히 책을 참고하면서 코드를 작성하면 이해하기 편하다.하지만 꾸준히 혼자 생각하면서 다음에 또 풀어봐야 할 문제이다. 점점 개념이 많아지면서 헷갈린다.한번만이 아니라 꾸준히 보면서 상기시켜야 할 것이다. import sys input = sys.stdin.readline n, m, k = map(int, input().split()) treeHeight = 0 length = n while length != 0:     length //= 2     treeHeight += 1 treeSize = 2 ** (treeHeight + 1) leftNodeStartIndex = treeSize//2 - 1 tree = [0] * (treeSize +.. 2024. 8. 1.
728x90