전체 글

·TIL
오늘은 내일 발표를 준비하느라 코테를 준비하지 못했다...하지만 논문은 읽었지.. Fuzzing에 대해서 공부중인데 오늘은 아래 논문을 읽었다. 3까지.. fuzzing을 LLM을 이용해 하는 방법이다. tencent 연구원들이 썼다. 굉장히 최근에 나왔다.이 논문을 읽으면서 또 읽어야 하거나 봐야하는 논문과 링크를 정리해 봤다. Prompt Fuzzing for Fuzz Driver Generationhttps://arxiv.org/abs/2312.17677 Prompt Fuzzing for Fuzz Driver GenerationCrafting high-quality fuzz drivers not only is time-consuming but also requires a deep understand..
·코딩테스트
🔗 LeetCode - 2415. Reverse Odd Levels of Binary Tree이제 deque 쓰는 건 완전 익숙해짐!이 문제는 홀수 층에 있는 노드들을 reverse 해주는 것인데 내가 쓴 방법은처음에 트리를 돌면서 각 층에 해당하는 노드를 리스트에 저장해 놓고두번째로 트리를 돌면서 각 층에 해당하는 노드를 pop 해줘서 reverse 되도록 했다. 그리고 리트 코드는 리스트가 아니라 객체(TreeNode)가 input, output이다.근데 사이트로 테스트를 하자니 제한도 있고 시간도 오래걸려서이전에 삽질하다가 만들어 놓은 리스트 -> 트리 로 만드는 코드를 유용하게 썼다. 야호from collections import dequeclass Solution: def reverseO..
·코딩테스트
🔗  LeetCode - 1302.All Paths from Source to Target오늘은 아주 조금 수월했는데 왜 되는 지 모르겠지만 통과한 감이 있어 다시 살펴봤다.일단 이번 문제는 DAG(Directed Acyclic Graph)를 끝 노드까지 도착할 수 있는 경로를 다 찾는 것이었다. DFS를 쓰면 해결될거 같았지만 속도랑 메모리도 신경쓰고 싶어서 queue를 사용했다. INPUT : 배열, 각 인덱스가 노드 번호이고 그 내부 배열은 그 노드와 연결된 노드들이다. OUPUT: 처음부터 끝 노드까지 순서에 맞게 나열되어 있어야 한다. 2차원 배열 일단 첫번째 배열은 따로 처리해 줬다. 시작 노드 이므로 여기에서 OUTPUT 배열을 하나씩 배정해 줬다. 그리고 이 노드를 queue에 넣었다. ..
·논문 읽기
Extracting Training Data from Large Language Modelshttps://arxiv.org/abs/2012.07805 Extracting Training Data from Large Language ModelsIt has become common to publish large (billion parameter) language models that have been trained on private datasets. This paper demonstrates that in such settings, an adversary can perform a training data extraction attack to recover individual training earxiv.o..
·코딩테스트
🔗 LeetCode - 1302. Deepest Leaves Sum😇 헤매지 않는 날이 없군!우선 첫번째로 문제를 잘못 이해해서 node 자체가 들어오는 지 몰라서... int array가 들어오면 그것을 node로 만들고 tree로 예쁘게 만들어 줬는데!! 이미 treenode 형태로 input이 들어와서 쓸모가 없어짐....코드 보기# Definition for a binary tree node. import queue from collections import deque class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left ..
·코딩테스트
🔗 프로그래머스 - 게임 맵 최단거리P.S | 해당 문제는 데크를 BFS로 이용해서 풀면 문제 답과 효율성 테스트를 통과할 수 있다!이 방법으로도 시도해 보면서 알게 된점은!효율성 테스트를 통과하려면 최대한 적은 경우의 수로 움직여 줘야 한다. 해당하지 않은 경로는 아예 가지 않도록 계속 조건을 줘야 함!그리고1) 간곳을 maps 에서 0으로 처리해 주면서 count를 따로 세는 방법과,2) maps에 count를 저장하면서 실행하는 두가지 방법을 해봤는데둘다 테스트 코드는 통과했지만 효율성은 2)만 통과했다....! 이번주에 아는 선생님과 객체에 관해서 이야기를 나눴다. 객체를 state를 저장하는 데 사용한다는 이야기를 했었는데 그것을 실제로 적용해 보고 싶었다. 그래서 이번 코드를 객체를 이용해서..
·코딩테스트
🔗 프로그래머스 - 타켓 넘버재귀로 풀었다!!각 숫자 사이에 + 또는 - 연산자를 넣어줘야 하는데재귀로 돌면서 디시전 트리 도는 것 처럼 + , - 를 선택하고 마지막 숫자까지 갔을때 target과 같으면 count += 1를 해줘서 답을 얻었다.def solution(numbers, target): def choose(idx, num_sum): if idx == len(numbers): if num_sum == target: return 1 return 0 return choose(idx + 1, num_sum + numbers[idx]) + choose(idx + 1, num_sum - numbers[i..
·자료구조
배웠으나 까먹고 또 배웠으나 헷갈리는 그래서 정리해 둬야겠다.이미 배웠던 분들이 복기하는 용도로 사용하면 좋을 것 같다. 시간 복잡도 ⍬(n2 )[정렬되지 않은 리스트의 크기를 n부터 시작해 하나씩 줄임]Selection sort( 선택 정렬 ) : 제일 큰(작은) 수를 찾아서 제일 뒤(앞)로 보내기코드보기def selectionSort(A): for i in range(0, len(A)-1): min_num = i for j in range(i + 1, len(A)): if A[j] Bubble sort( 버블 정렬 ) : 2개씩 비교해 가면서 큰 수가 점점 뒤로 가게 하기코드보기def bubbleSort(A): for i in range(len(..
yolang
프로그래밍 기록장