728x90
전체 글
544

[Java] Stack 정리

Stack 나중에 넣은 객체가 먼저 빠져나가는 LIFO(Last In First Out) 구조 그래프 깊이 우선 탐색(DFS)에 사용 대표적인 예로 JVM 스택 메모리가 있다. 스택 메모리에 저장된 변수는 나중에 저장된 것부터 제거된다. import java.util.Stack; // E: 리턴 타입 Stack stack = new Stack(); 메소드 설명 push 주어진 객체를 스택에 추가 peek 스택의 맨 위(뒤) 객체를 가져온다. 객체를 스택에서 제거하지 않는다. pop 스택의 맨 위(뒤) 객체를 가져온다. 객체를 스택에서 제거한다. clear 스택 비우기

Java & Spring 2023.10.09

[Java] Queue와 PriorityQueue 정리

Queue 먼저 넣은 객체가 먼저 빠져나가는 FIFO(First In First Out) 구조 그래프 넓이 우선 탐색(BFS)에서 사용 대표적인 예로 스레드풀(ExecutorService)의 작업 큐, 컴퓨터의 버퍼에 사용 Queue 인터페이스를 구현한 대표적인 클래스는 LinkedList LinkedList는 List 인터페이스를 구현했기 때문에 List 컬렉션이기도 함 import java.util.LinkedList; import java.util.Queue; // E: 리턴타입 Queue queue = new LinkedList(); 메소드 설명 정상 실행 실패 add 객체를 추가 true 반환 예외 발생 offer 객체를 추가 true 반환 flase 반환 remove Dequeue 맨 앞의 객..

Java & Spring 2023.10.09

[Java] String.format(%s, %d, %f, %t, %c)

* _ : 공백 %s 포맷 설명 예시 %s 문자열을 그대로 채움 예시입니다 %7s 7만큼의 공간에 문자열을 채우고 오른쪽 정렬 __예시입니다 %-7s 7만큼의 공간에 문자열을 채우고 왼쪽 정렬 예시입니다__ %7.2s 7만큼의 공간에 문자열을 채우고 2만큼 잘라서 왼쪽 정렬 예시_____ %-7.2s 7만큼의 공간에 문자열을 채우고 2만큼만 잘라서 오른쪽 정렬 _____예시 %d 포맷 설명 예시 %d integer 숫자를 그대로 채움 12345 %7d 7만큼의 공간에 숫자를 채우고 오른쪽 정렬 __12345 %-7d 7만큼의 공간에 숫자를 채우고 왼쪽 정렬 12345__ %07d 7만큼의 공간에 숫자를 채우고 왼쪽 공백에 0을 채움 0012345 %,d 1000단위로 ,추가 12,345 %f 포맷 설명 ..

Java & Spring 2023.10.05

[Python] 구조화된 데이터를 효율적으로 저장하고 전달하기위한 Protocol Buffers

Protocol Buffers? Protocol Buffers 는 구조화된 데이터를 Serialization 하는 도구이다. XML, JSON 과 같은 텍스트 기반의 Serialization 방식을 생각할 수 있지만 Protocol Buffers는 더 작고 빠르다고 한다. 다른 방법과 한계 Python pickling: 스키마 변경에 대해서 잘 처리하지 못하고 응용 프로그램과의 데이터 공유가 잘 이루어지지 않는다. 문자열 인코딩: 아주 간단한 데이터에 대해 적합하다. XML: 메모리를 많이 잡아먹는 것으로 알려져있으며 응용 프로그램의 성능을 저하시킬 수 있다. 또한 XML DOM 트리가 복잡하다. Protocol Format 정의 Protocol Buffers 의 기본 개념은 "message" 라고 하는..

Temp 2023.07.30

Dive into Mojo🔥

Intermediate Representation (IR) Intermediate Representation (IR)은 사람이 이해하기 쉬운 High-level 언어에서 기계어와 유사한 Low-level 언어로 변환하는 중간 단계의 표현 방식을 의미한다. 컴파일러나 인터프리터는 프로그램을 High-level 언어에서 IR로 변환하고, 이후 IR을 다시 기계어로 변환하여 실행 가능한 형태로 만든다. Low-level IR Static Single Assignment (SSA) Form: 각 변수가 단 한 번만 정의되고 사용되는 형태로 변환하여 최적화를 용이하게 만듬 Three-Address Code: 각 명령어에 최대 세 개의 주소를 사용하는 형태로, 기계어에 가까운 표현 Control Flow Graph..

Deep Learning 2023.07.23

[Paper] VITRUVION: A GENERATIVE MODEL OF PARAMETRIC CAD SKETCHES (2)

Constraint Model constraint sequence의 autoregressive generation을 수행 $N_C$: constraint의 수 각 constraint는 (type, parameters)의 형태를 가지는 tuple을 가짐 2개 이하의 reference parameter를 가지는 모든 constraint를 다룸 (숫자 parameter 이거나 3개 이상의 reference를 가질 경우는 제외) Ordering constraint는 primitive에 따라 sorting된다. # https://github.com/PrincetonLIPS/vitruvion/blob/1b91fff5597b3a4e272e6490e4d458f3ef790e62/img2cad/constraint_data..

Deep Learning 2023.07.03

[Baekjoon/python] 가장 긴 증가하는 부분 수열 #11053

https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. 코드 DP 적용 DP 중 LIS (Longe..

[Paper] VITRUVION: A GENERATIVE MODEL OF PARAMETRIC CAD SKETCHES (1)

Introduction 어떤 것을 설계할때 숫자 매개변수를 통해서 수정하게 되면 일관성있게 진행할 수 있다. 수정하면서 관련된 모든 것들을 수정하게되는데 이때 반복적인(중복된) 노력이 든다. 결국 이런 반복적인 일을 줄이고자하는 것이 목적인 것 같다. 엔지니어들은 가끔씩 위처럼 손으로 대충 그린 것을 자동으로 변환해주는 것을 원한다. (실제로 손으로 그리는 것은 많이 못 봤다... 진짜로 원하는 사람이 많은지는 모르겠다.) 해당 논문에서 소개하는 generate model인 Vitruvion은 autoregressive하게 constraint와 primitive를 sampling하여 일관성있는 CAD sketch를 만들어낸다. constraint graph를 통해 sketch를 생성할 수 있는 것은 자동..

Deep Learning 2023.06.25

[Baekjoon/python] LCS #9251

https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 문제 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. 코드 DP 문제 두 문자의 길이가 다를 경우 2중 for문에서 짧은 문자가 먼저 나와야한다. 반례는 다음과..

[Baekjoon/python] 별 찍기 - 11 #2448

https://www.acmicpc.net/problem/2448 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 코드 굳이 번거롭게 만든 재귀 문제 8개 별을 가지는 삼각형을 기준으로 수행 import sys input = sys.stdin.readline n = int(input()) graph = [[' '] * 2 * n for _ in range(n)] def recursive(row, col, N): if N == 3: graph[row][col] = '*' graph[row + 1][col -..

728x90