목록코딩테스트 (47)
초보 개발자의 일기

문제 입력 첫 번째 줄에 100 이하의 서로 다른 A, B , C 막대의 길이가 주어진다. 출력 첫 번째 줄에 "YES", "NO"를 출력한다 입력 예시 6 7 11 출력 예시 YES 풀이 방법 삼각형이 만들어지는 조건은 제일 긴 변을 제외한 나머지 두 변 길이의 합이 제일 긴 변보다 커야 한다는 것이다. 이 조건을 생각해 풀이하였다. 내 코드 Solution 느낌점 풀 때 코드가 난잡하고 생각은 하긴 했는데 solution을 보니 정말 간결해서 슬펐다.

문제 입력 첫 번째 줄에 100 이하의 세 자연수가 입력된다. 출력 첫 번째 줄에 가장 작은 수를 출력한다. 입력 예시 6 5 11 출력 예시 5 풀이 방법 answer라는 변수를 설정하고 3개의 수를 비교해 가며 가장 작은 수를 answer에 저장하고 출력하였다. 내 코드 Solution 느낌점 문제 자체를 해결하는 데는 큰 어려움이 없었는데, JS로 풀이하는 것이 처음이라 문법이 어색해서 힘들었다. 노력해보자

플로이드 워셜 알고리즘 플로이드 워셜 알고리즘 -모든 지점에서 다른 모든 지점까지의 최단 경로를 모두 구해야 하는 경우에 사용 -소스코드가 다익스트라에 비해 짧아서 구현이 쉽다. -플로이드 워셜 알고리즘은 2차원 테이블에 최단 거리 정보를 저장한다. 플로이드 워셜 알고리즘의 점화식 그림으로 설명 초기 그래프 상태 현재 상태에서 갈 수 있는 곳을 전부 표에 적고 갈 수 없는 곳은 무한으로 설정한다. 단계 1 1번 노드를 통해 가는 경우를 고려해 테이블을 갱신한다. 단계 2 2번 노드를 통해 가는 경우를 고려해 테이블을 갱신한다. 단계 3 3번 노드를 통해 가는 경우를 고려해 테이블을 갱신한다. 단계 4 4번 노드를 통해 가는 경우를 고려해 테이블을 갱신한다. 최종적으로 나온 결과는 이렇게 된다. 플로이드 ..

최단경로 알고리즘 최단경로 알고리즘: 가장 짧은 경로를 찾는 알고리즘 노드: 각 지점은 그래프에서 노드로 표현 간선: 지점 간 연결된 도로는 그래프에서 간선으로 표현 최단 경로 알고리즘은 대표적으로 다익스트라 최단 경로 알고리즘, 플로이드 워셜, 벨만 포드 알고리즘 이렇게 3개이다. 이 중에서 다익스트라 최단 경로 알고리즘, 플로이드 워셜을 공부해보자. 다익스트라 최단 경로 알고리즘 그래프에서 여러 개의 노드가 있을 때, 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘 음의 간선이 없을 때 정상적으로 작동 알고리즘의 원리 출발 노드를 설정 최단 거리 테이블을 초기화 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택 해당 노드를 거쳐 다른 노드로 가는 비용을 계..

문제 입력 첫째 줄에 정수 X가 주어진다. (1 d[i//3]+1: d[i]=d[i//3]+1 if i%5==0 and d[i]> d[i//2]+1: d[i]=d[i//2]+1 print(d[a]) Solution # 정수 X를 입력 받기 x = int(input()) # 앞서 계산된 결과를 저장하기 위한 DP 테이블 초기화 d = [0] * 1000001 # 다이나믹 프로그래밍(Dynamic Programming) 진행(보텀업) for i in range(2, x + 1): # 현재의 수에서 1을 빼는 경우 d[i] = d[i - 1] + 1 # 현재의 수가 2로 나누어 떨어지는 경우 if i % 2 == 0: d[i] = min(d[i], d[i // 2] + 1) # 현재의 수가 3으로 나누어 떨어..