Loading...

서로 순열이 되는 경우를 찾는 트릭(정렬해서 비교하기)

1501번: 영어 읽기 영어 단어의 첫글자와 끝글자가 서로 같고 그 사이의 글자가 순서가 뒤섞인채로 구성이 같으면 같은 단어로 취급한다 abcde는 acbde, abdce,... 등과 같다 단어 사전과 문장들이 주어질때 각 문장을 해석하는 방법의 수를 구한다 ------------------------------------------------------------------------------------------------------------------------------------------- 영어 단어가 bakers, brakes, breaks,...등이 주어질때 먼저 bakers를 보면 bakers, bkaers, bekras, berkas, bearks,... 등이 서로 같은 단어들이다...

4개 원소를 골라서 짝지어서 쌍을 만들어 크기 비교하는 놀라운 방법

20366번: 같이 눈사람 만들래? n개의 눈덩이가 있는데, 2개의 눈덩이를 합쳐서 1개의 눈사람을 만들 수 있다 n개중 4개의 눈덩이를 골라 2개의 눈사람을 만들려고 한다 이때 눈덩이 크기의 합이 눈사람의 크기라고 할때, 두 눈사람의 크기 차이가 최소가 되도록 하려고 한다 최솟값을 구하면? -------------------------------------------------------------------------------------------------------------------------------------------------------- n이 최대 600인데 이중 4개를 고르면 600C4로 못해도 600*599*598*597 정도에 근사하는 정도? 아무튼 10^8을 가뿐하게 넘는다..

2025. 3. 3. 22:29

LLM 기본1 - 언어 모델링의 역사

1. 딥러닝 기반의 언어 모델 LLM은 기술적으로 딥러닝에 기반을 둔다. 딥러닝은 인간의 두뇌에 영감을 받아 만들어진 신경망으로서, 데이터의 패턴을 학습하는 머신러닝의 한 분야이다. 딥러닝은 표 형태의 정형 데이터뿐만 아니라 텍스트와 이미지 같은 비정형 데이터에서도 뛰어난 패턴 인식 성능을 보여  2010년대 중반 이후 AI 분야의 주류 모델로 자리 잡았다. LLM은 사람의 언어를 컴퓨터가 이해하고 생성할 수 있도록 연구하는 자연어 처리(Natural language processing)에 속한다. 특히 그중에서도 사람과 비슷하게 텍스트를 생성하는 방법을 연구하는 자연어 생성(natural language generation)에 속한다. LLM은 다음에 올 단어가 무엇일지 예측하면서 문장을 하나씩 만들어..

GetComponent()로 알아보는 generic이란

GetComponent()는 원하는 타입의 컴포넌트를 자신의 게임 오브젝트에서 찾아온다. 여기서 꺾쇠 로 가져올 타입을 받는다 void Start(){ playerRigidbody = GetComponent();} GetComponent()로 자신의 게임 오브젝트에서 Rigidbody 타입의 컴포넌트를 가져와서 playerRigidbody 변수에 대입한다 여기서 는 generic 기법이다. 이는 메소드나 클래스가 여러 타입에 호환되게 만들어준다. 안에 원하는 타입을 명시하면 클래스나 메소드가 해당 타입에 맞춰 동작한다. generic을 쓰지 않으면 무슨 일이 일어날까? 같은 동작을 하는 여러 타입의 메소드나 클래스를 일일이 만들어야한다. GetComponent()동작을 하는 GetComponentR..

두 팀중 적어도 한 팀이 소수만큼 점수를 얻을 확률

1344번: 축구  90분간 이루어지는 축구 경기를 5분 간격으로 나눈다. 처음 간격은 처음 5분, 두번째 간격은 그 다음 5분... 각 간격에서 A,B팀이 각각 득점할 확률이 주어진다 각 간격에서 A,B팀은 각각 많아야 한골씩 득점할 수 있다 경기가 끝났을 때 적어도 한 팀이 소수로 득점할 확률은? ------------------------------------------------------------------------------------------------------------------------------------ 5분씩 간격이 나눠지고 전체 경기 시간은 90분이므로 총 18간격씩 이루어진다 각 간격에서 두 팀은 독립적으로 최대 1골씩 넣을 수 있다 dp[i][a][b] = i번째 간..

2025. 3. 1. 21:19

C++의 연산자와 표현식

1. 표현식 프로그램은 많은 식과 조건이 조합되어 특정 작업을 수행하는 명령의 모음 프로그래밍에서 계산할 때 사용하는 식을 표현식(expression) 계산을 수행하는 것이 목적이므로, 항상 결과를 가진다 따라서 대부분의 표현식은 여러개의 피연산자와 연산자로 구성 연산자는 연산의 종류를 결정하고 피연산자는 연산에 참여하는 값 또는 식별자이다 표현식: 1 + 2  1,2는 피연산자 +는 연산자  2. 상수 표현식 상수로만 이뤄진 단순한 표현식 상수는 1, 12.345, 'A'같이 변하지 않는 값  3. 단항 연산자 표현식 연산자와 피연산자가 일대일로 매칭되는 표현식 연산에 참여하는 피연산자가 하나인 표현식이다 형변환, 부호변경, 증감 연산자 등이 모두 포함 부호 연산자: +a, -a 증감 연산자: ++a,..