본문 바로가기

분류 전체보기

(201)
11279 최대 힙 / 우선순위 큐 우선순위 큐우선순위가 가장 높은 요소가 가장 먼저 제거됨힙 -> 우선순위 큐를  구현하기 위한 자료구조 완전이진트리로서, 최솟값이나 최댓값을 빠르게 찾기 위해 만들어진 자료구조, 반정렬 상태 유지(부모노드값이 자식 노드의 값보다 크거나 작은 상태를 유지)최소 힙 : 부모 노드 값이 자식 노드 값보다 작거나 같음최대 힙 : 부모 노드 값이 자식 노드 값보다 크거나 같음인덱스부모 : 자식 노드 값 / 2왼쪽 자식 : 부모 노드 값 * 2오른쪽자식 : 부모 노드 값 *2 + 1삽입 : 가장 마지막 노드에 삽입한 후, 부모 노드와 비교하여 교환삭제 : 가장 크거나 작은 노드이기 때문에 루트 삭제 후, 가장 마지막에 있는 노드를 루트로 올린 후에 자식들과 교환 class MaxHeap: def __init_..
자바 알고리즘 연습(3) 자릿수 더하기public class Solution { public int solution(int n) { int answer = 0; int temp = 0; while (n > 0) { answer += n % 10; n /= 10; } return answer; }} 약수의 합class Solution { public int solution(int n) { int answer = 0; for(int i = 1; i  나머지가 1이 되는 수 찾기class Solution { public int solution(int n) { int answ..
7568 덩치 / 브루트포스 n = int(input()) # 사람 수humans = [] # 덩치가 담긴 리스트ranking = [] # 순위가 담긴 리스트for i in range(n): x, y = map(int, input().split()) humans.append([x, y])for i in range(n): count = 1 for h in humans: if h[0] > humans[i][0] and h[1] > humans[i][1]: count += 1 ranking.append(count)for i in ranking: print(i, end=" ")
자료구조 요리 레시피 메모장 만들기 / Iterator package week02.collection;import java.util.*;public class Col1 { public static void main(String[] args) { ArrayList arrayList = new ArrayList(); Set set = new LinkedHashSet(); Map map = new LinkedHashMap(); Scanner sc = new Scanner(System.in); String dataStructure = sc.nextLine(); String title = sc.nextLine(); int idx = 1; int mapIdx = 1..
Array / List / Stack / Queue / Set / Map Array정적 배열, 선언시에 크기를 지정해 줘야 함리스트보다 삽입, 삭제가 느리지만 조회가 빠름생성 : int[] intArray = new int[3]; / int[] array = {1,2,3,4};길이 : intArray2.length동일한 값으로 넣기 : Arrays.fill(intArray, 1);public class Arr01 { public static void main(String[] args) { //배열 생성 int[] intArray = new int[3]; //{0,0,0} int[] array = {1,2,3,4}; boolean[] boolArray = new boolean[3]; //{false, false, false..
자바 기본 문법 / 얕은 복사와 깊은 복사 / String 자동 형변환여러 타입의 변수 여러 개를 연산했을 때, 결과값은 가장 큰 타입의 피연산자 타입으로 변환됨!float + double => doublepublic class W02 { public static void main(String[] args) { // 자동 형변환 int a = 10; int b = 329; float af = a; float bf = b; float cf = 35.0f + a; // 실수로 나온다! System.out.println(af); System.out.println(bf); System.out.println(cf); }} 삼항연산자 & 비트연산자p..
자바 알고리즘 연습(2) 각도기class Solution { public int solution(int angle) { int answer = 0; if (0  짝수의 합class Solution { public int solution(int n) { int answer = 0; for (int i = 1; i  배열의 평균값배열의 길이를 조회할 때는 배열이름.lengthclass Solution { public double solution(int[] numbers) { double answer = 0; for (int i = 0; i  짝수와 홀수class Solution { public double solution(..
2231 분해합 / 브루트포스 1. 각각의 자릿수를 문자열로 바뀌서 더하기n = int(input())ans = 0for i in range(n): num = i #자기 자신 더하기 j = str(i) for k in j: #각 자리수 더하기 num += int(k) if num == n: #조건에 해당된다면 값 리턴 ans = i breakprint(ans) 2. 각각의 자릿수를 나머지 연산을 이용하여 더하기n = int(input())ans = 0for i in range(n): num = i #자기 자신 더하기 current_num = i while current_num > 0: num += current_num % 10 #자릿수마다 더하기 ..