본문 바로가기
반응형

전체 글214

[코딩 인터뷰] 두 배열의 교집합 구하기 문제 설명: 두 개의 정수 배열 nums1과 nums2가 주어졌을 때, 이 두 배열의 교집합을 계산하는 함수를 작성하세요. 결과 배열에는 두 배열 모두에 나타나는 모든 고유한 정수가 포함되어야 합니다. 결과 배열의 순서는 상관 없습니다. 제한 사항: 결과 배열은 고유한 값만 포함해야 합니다. 즉, 중복된 원소를 제거해야 합니다. 입력으로 주어지는 두 배열의 길이는 최소 1 이상입니다. 입력: nums1: 첫 번째 정수 배열 nums2: 두 번째 정수 배열 출력: 두 배열의 교집합을 나타내는 정수 배열 예시: 입력: nums1 = [1, 2, 2, 1], nums2 = [2, 2] 출력: [2] 입력: nums1 = [4, 9, 5], nums2 = [9, 4, 9, 8, 4] 출력: [9, 4] 출력된 .. 2024. 3. 28.
[코딩 인터뷰] 단어 단위로 문자열 뒤집기 주어진 문자열 s는 여러 단어로 구성되어 있으며, 각 단어는 하나 이상의 공백 문자로 구분됩니다. 당신의 목표는 각 단어 내에서 문자의 순서를 뒤집되, 단어의 순서는 유지하는 새로운 문자열을 반환하는 함수를 작성하는 것입니다. 여기서 단어란 공백이 아닌 문자들의 연속된 시퀀스를 의미합니다. 입력: s: 단어와 공백 문자로 구성된 문자열 (1 ≤ 문자열의 길이 ≤ 10,000) 출력: 각 단어 내의 문자 순서가 뒤집힌 새로운 문자열 예시: 입력: "hello world" 출력: "olleh dlrow" 입력: "The quick brown fox jumps over the lazy dog" 출력: "ehT kciuq nworb xof spmuj revo eht yzal god" 더보기 Python def .. 2024. 3. 28.
맥주의 도시 뮌헨 여행 독일 하면 떠오르시는 이미지가 어떤게 있으신가요? 맥주, 소세지, 축구가 그 중 대표적인 이미지가 아닐까 싶습니다. 독일이라고 세계에 알려진 이미지들을 보면 대부분 바이에른(Bayern) 주의 문화들입니다. 특히나 독일 전통 의상으로 생각들을 하시는 던들(Dirndl)이나 레더호젠(Leder-hosen)의 경우 다 바이에른쪽 전통의상입니다. 그래서 독일 사람들한테 전통의상 얘기하면 바이에른 출신이 아닌 경우 콕 집어서 그건 바이에른 문화지 독일 문화가 아니다라는 사람들도 많아요. 하지만! 관광객의 입장에서는 독일 문화로 생각되는 것들이 다 모여 있는 곳이 바로 이곳 바이에른 주이고 특히나 뮌헨은 바이에른 주의 주도로서 문화, 상업의 중심지입니다. 그래서 비즈니스 또는 관광을 목적으로 많은 사람들이 방문하.. 2024. 3. 27.
JAVA 22 업데이트 최근 개발자 커뮤니티에서 보면 자바 사용자가 줄어들고 있습니다. 하지만 여전히 파이썬에 비하면 더 빠르고 사용자 층도 많으며 엔터프라이즈급에서는 아직도 많이 사용되고 있는 언어입니다. 자바는 오라클에서 인수한 뒤에 주기적으로 업데이트를 거쳐 현재는 22버전까지 나오게 되었습니다. 그러면 이번 업데이트의 주요 사항을 살펴보도록 하겠습니다. 이번 JDK 22의 주요 개선 사항은 총 12개 입니다. 이 중 7개는 프리뷰 기능이며 하나는 아직 인큐베이터 기능입니다. 1. 언어 개선 사항 JEP 456: 언네임드 변수 및 패턴 변수 선언이나 중첩된 패턴이 필요하지만 사용되지 않을 때 가독성을 향상시킵니다. 둘 다 밑줄 문자로 표시됩니다. JEP 447: super(...) 앞의 명령문 (프리뷰) 생성자에서 생성되.. 2024. 3. 26.
GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection 대규모 언어 모델(LLM) 훈련은 상당한 양의 메모리와 컴퓨팅 파워를 요구합니다. 예를 들어, LLaMA 7B 모델을 처음부터 사전 훈련하려면 단일 배치 크기에 최소 58GB의 메모리가 필요합니다. 이러한 메모리 문제를 완화하기 위해 등장한 한 방법은 Low-rank Adaptation (LoRA)입니다. 이 접근 방식은 각 계층에 훈련된 Low-rank 행렬을 추가함으로써 파라미터의 수를 줄입니다. 그러나, 이 방법은 Low-rank subspace 내에서 파라미터 검색을 제한하고, 학습을 다이나믹하게 변경하며, full-rank 의 웜 스타트를 필요로 할 수 있어, full-rank 가중치로 훈련했을 때보다 열등한 성능을 초래할 수 있습니다. GaLore: Gradient Low-Rank Projec.. 2024. 3. 26.
스파크(Spark) 최적화하기 스파크(Spark)란 무엇인가? 아파치 스파크(Apache Spark)는 클러스터 환경 내에서 병렬 데이터 처리를 위해 설계된 일련의 라이브러리와 함께하는 통합 컴퓨팅 엔진입니다. 병렬 처리를 위한 가장 활발하게 개발되는 오픈소스 엔진으로서, 스파크는 빅 데이터 작업에 참여하는 개발자들과 데이터 과학자들 사이에서 표준 도구로 빠르게 부상하고 있습니다. 스파크는 파이썬, 자바, 스칼라, R과 같은 인기 있는 프로그래밍 언어와 호환되며, SQL부터 스트리밍, 머신러닝에 이르기까지 다양한 기능을 다루는 광범위한 라이브러리를 제공합니다. 스파크는 다양하게 활용될 수 있으며, 단일 노트북에서부터 수천 대의 서버로 구성된 광대한 클러스터에 이르기까지 다양한 환경에서 운영될 수 있습니다. 이러한 기능을 활용함으로써 .. 2024. 3. 21.
반응형