중위 표기법(infix notation)연산자를 피연산자의 가운데 표기하는 방법예 : A+B후위 표기법(postfix notation)연산자를 피연산자 뒤에 표기하는 방법예 : AB+우리는 보통 연산식을 입력할 때 중위 표기법을 많이 사용한다. 하지만 컴퓨터가 식을 연
재귀함수를 통해 부분집합을 다음과 같이 구현할 수 있다.main함수에서 powerSet(0)이 호출된다.powerSet(0) : 19번째 줄에서 powerSet(1), powerSet(2), powerSet(3)이 순차적으로 시행powerSet(3) : 11번째 줄에서
숫자로 이루어진 String을 integer 자료형으로, integer를 String으로 바꿔주는 메서드이다. Integer.toString, Integer.parseInt 메서드가 이미 존재하지만, itoa와 atoi를 직접 구현해보았다.만일 첫 문자가 '-'일 경우
문제 https://school.programmers.co.kr/learn/courses/30/lessons/17677 답안 상세 설명 자카드 계수를 활용하는 문제이다. 합집합과 교집합의 성질만 알면 금방 풀 수 있는 비교적 간단한 문제이다. 문자열에서 연속된
백준 15650번 문제(N과 M(1))를 해결한 코드입니다. 코드 상세 설명 nCr을 구현하였다. main 메서드 arr은 조합으로 얻어진 r개의 숫자를 담을 배열이다. combination 메서드를 통해 재귀적으로 arr에 들어갈 원소를 구해나갈 것이다. c
현재 가장 가까운 노드를 저장하기 위해 우선순위 큐를 이용시간 복잡도 : O(E\*logV), E개의 원소를 우선순위 큐에 넣었다가 모두 빼내는 연산 : O(E\*logE)E <= V^2 이므로 O(E\*logE) = O(E\*logV^2) = O(E\*logV)
최소 신장 트리 알고리즘 (사이클이 없음)edge의 개수 = vertex의 개수 - 1시간 복잡도 : O(E\*logE), E개의 간선 정렬간선 데이터를 비용에 따라 오름차순으로 정렬한다.간선을 하나씩 확인하며 현재 간선이 사이클을 발생시키는지 확인한다.2-1. 사이클
유향 그래프의 모든 노드를 방향성에 거스르지 않도록 순서대로 나열위상 정렬의 답은 여러 가지가 될 수 있음시간 복잡도 : O(V+E), 차례대로 모든 노드를 확인하면서 해당 노드에서 출발하는 간선을 차례대로 제거진입 차수가 0인 노드를 큐에 넣는다큐가 빌 때까지 다음의