분류 전체보기 69

[카카오 코테 2019 | python] 크레인 인형뽑기 게임 ✅

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/640612019 카카오 개발자 겨울 인턴십크레인 인형뽑기 게임 Q1) 문제를 어떻게 이해했나요?A1) 크레인을 좌우로 움직이며 인형을 집어 바구니에 쌓는다. 같은 인형이 바구니에 연속으로 두 개 쌓이면 터진다. 인형이 터질 때마다 2개 사라지므로 2점을 얻는다. 인형은 가장 위에 있는 것만 집힌다.Q2) 문제를 어떻게 풀 예정인가요?A2) moves: 크레인을 몇 번째 열에서 작동시킬지 알려주는 리스트.크레인 작동 시: 해당 열의 맨 위 인형을 찾는다. 인형을 바구니(stack)에 넣는다. 바구니의 top 2개가 같으면 pop해서 사라진다 → 점수 +21. 빈 바구니(basket = []..

Algorithm 2025.06.23

[백준] Input 처리 방법

✅ 기본 구조import sysinput = sys.stdin.readline이걸 써야 백준에서 시간 초과 방지 가능해요! 📘 예제 1: 한 줄에 하나씩 숫자 여러 개 입력 받기입력 5n = int(input())print(n) # 5❗️주의: input()은 줄바꿈 제거되지만, sys.stdin.readline()은 '\n'이 포함되기 때문에 strip()을 꼭 써야 해요! 📘 예제 2: 한 줄에 숫자 여러 개 1 2 3 4 5arr = list(map(int, input().split()))print(arr) # [1, 2, 3, 4, 5] 📘 예제 3: 여러 줄 입력 (첫 줄에 개수, 이후 줄마다 숫자)3102030n = int(input())for _ in range(n): num..

Algorithm 2025.06.23

[백준 15649 | python] N과 M (1) (백트레킹)

문제 링크: https://www.acmicpc.net/problem/15649백준 15649번파이썬 Q1) 문제를 어떻게 이해했나요?A1) 1부터 N까지의 수 중에서 M개를 중복 없이 뽑아서 만든 수열을 모두 출력해야 해요.Q2) 문제를 어떻게 풀 예정인가요?A2)DFS(백트래킹)을 사용해 수열을 하나씩 만들어가며 탐색합니다. 이미 선택한 숫자는 visited 배열로 중복 선택을 막습니다. 수열의 길이가 M에 도달하면 출력합니다. 사전 순 출력을 위해 숫자 1부터 N까지 오름차순 탐색을 합니다. def solution(N, M): visited = [False] * (N + 1) def dfs(path): if len(path) == M: print(' '...

Algorithm 2025.06.21

고도화된 RAG: 단순히 검색만으로는 한계가 있다 (Self-RAG, GraphRAG)

전통적인 RAG 기술 👀chunking, query 변형, 검색 알고리즘, re-rank, ... 1️⃣ Self-RAG💫 Self-Reflection (자체 반영)검색된 문서와 생성된 응답 모두에 대해 점검하고 검증하는 추가 단계를 포함 → 자체 평가LLM이 기존 RAG의 각 단계에 직접 개입하여 보다 정교한 제어를 수행하는 방식1) 작동방식검색: 사용자의 질문을 분석하여 외부 데이터 검색이 필요한지 결정(Retrieve=yes 토큰 출력)생성: 검색된 정보가 있으면, 이를 바탕으로 답변관련성 평가: 검색된 문서의 관련성 평가답변 생성: 관련 정보가 있는 문서가 존재할 경우 → 자신의 기존 지식 + 검색 정보 결합한 포괄적인 답변 관련 정보가 있는 문서가 없다면 →..

NLP | LLM 2025.06.20

RAG & Agent 시스템 성능 검증은 어떻게 할까?

1. RAG 시스템 성능 검증1.1 컴포넌트별 평가 (Component-wise Evaluation)1.1.1 Retrieval 성능 평가지표공식설명측정 방법Precision@KP@K = (관련 문서 수 in top-K) / K상위 K개 중 관련 문서 비율수동 라벨링 또는 자동 판정Recall@KR@K = (검색된 관련 문서 수) / (전체 관련 문서 수)전체 관련 문서 중 검색된 비율완전한 관련성 데이터셋 필요Mean Reciprocal Rank (MRR)MRR = (1/|Q|) Σ (1/rank_i)첫 번째 관련 문서의 평균 역순위여러 쿼리에 대한 평균Normalized DCG (NDCG)NDCG = DCG / IDCG순위를 고려한 누적 이득관련성 점수 기반 (0-3점 등)Hit RateHR@K = ..

NLP | LLM 2025.06.19

[카카오 코테 2018 | python] 비밀지도

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/17681level1프로그래머스Q1) 문제를 어떻게 이해했나요?A1) 주어진 두 지도를 각각 이진수 형태로 변환하고, 각 위치에서 둘 중 하나라도 벽(1)이면 전체 지도에서 벽으로 표시해야합니다.Q2) 어떤 방식으로 풀건가요?A2) OR 연산을 수행하여 둘 중 하나라도 1이면 1이 되도록 처리를 합니다. 그리고, 그 결과를 n자리의 2진수로 변환합니다.2진수 문자열에서 '1' 은 '#'으로 '0'은 ' '으로 치환하여 리스트로 반환합니다. 🔥 내 코드: 2진수를 직접 구하는 함수를 만들었음def num_to_2(n, num): result = "" while num > 0: ..

Algorithm 2025.06.19

[카카오 코테 2018 | python] [1차] 다트 게임

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/17682level1Q1) 이 문제 어떻게 이해하셨나요?A1) 이 문제는 다트 점수를 규칙에 따라 계산한 다음 총합을 구하는 문제라고 이해했습니다. 다트는 총 3세트로 구성이 되어있고, 각 세트는 점수, 보너스, 옵션으로 구성되어있습니다.Q2) 어떻게 풀 계획인가요?A2) 우선 입력값의 문자열을 순서대로 탐색하면서 점수, 보너스, 옵션을 파싱합니다.점수를 계산한 후, 옵션에 따라 현재 점수와 이전 점수를 처리하고 마지막에 점수 리스트의 합을 반환합니다.*풀이 과정1. 먼저 문자열을 탐색하면서 점수를 뽑는데, 10은 두자리 숫자라서 예외처리를 해줘야합니다.2. 점수를 뽑았으면 그 다음 문자는..

Algorithm 2025.06.19

데이식스 3번째 팬미팅 🍀I Need My Day🍀 후기

2024년 6월 23일 여름냄새 가득한 날잠실실내체육관에서 팬미팅이 열렸다. 컨셉은 직장인...🫠왜 하필 직장이야...!!!아무리 데이식스라도 팬미팅에서까지 회사를 떠올리게 만드는 건 싫어!!!라는 약간의 아쉬움과 함께 팬미팅장소로 도착했다. 자리는 2층 나름 가운데였고, 또 나름 앞이었다.시야 나쁘지 않았음! 본격적인 팬미팅시작!!직장인 컨셉이 무색하게 아주 많이 "CUTE" 했다 😊🦊 🐻 🐶 🐰 🍀 분명 "승진 게임"을 하고 있는데 귀여워...팀장, 부장, 사원 이런 단어들이 막 나오는데다행히 PTSD 안왔음ㅎㅏ하하(안웃겨) 귀엽다 🍀🍀🍀 이날 팬미팅 끝나고 도운의 "문득" 만 주구장창 들으면서 집에 간 것 같다. 기념사진까지 귀여움 팬미팅은 처음이었는데 다른 매력이 있다. 진짜 회..

Better Life 2025.06.18

[통계] 교차분석(Cross Tabulation Analysis)

1. 교차분석 의미- 독립변인과 종속변인이 모두 명목척도 혹은 서열척도로 측정한 불연속 변인일 때 적용하는 통계방법 교차분석은 2개 또는 그 이상의 범주 변인들에 근거한 케이스들의 중복된 빈도 분포를 생산하는 과정에서 적용되는 통계 기법이다. 이때 생산한 빈도 분포표를 교차표(cross tabulation table) 또는 분할표(contingency table)라고 하며, 1904년 칼 피어슨(Karl Pearson)이 처음으로 사용했다. 교차분석은 두 범주 변인 간 관계가 상호 독립 관계인지 아니면 상호 연관성을 맺고 있는지를 검증하는 방법이다. 이 중 카이제곱 교차분석은 실제로 나온 관찰빈도(observed frequency)와 각 셀에서 통계적으로 기대할 수 있는 빈도, 즉 기대빈도(expecte..

[인공지능 기초수학] #3. 벡터 with 인공지능, 파이썬

1. 의미- 크기(magnitude)와 방향(direction)을 가진 물리량, 차원의 공간에 존재- (대수적 정의) 수 또는 함수의 나열- 보통 데이터의 묶음(tuple), 열과 행 존재- 데이터 레코드 하나를 단독으로 벡터로 나타낼 때는 열 하나로 표시 2. 단위 벡터 - 같은 벡터라도 좌표가 다를 수 있다.- 길이가 1인 벡터, 방향o, 크기 영향x- 정규화(normalizing) : 벡터를 단위 형태로 변환하는 것 3. 벡터의 크기 = 길이 = normfrom scipy import linalglinalg.norm(a) # norm - L1 : 컴퓨터 비전에서 주로 씀 |x| = a+b+c- L2 : K-평균 클러스터링과 K-최근접 |x| = sqrt(a+b+c)linalg.norm(a, ord ..

ML | DL 2025.06.18
728x90