전체 글 50

1206. [S/W 문제해결 기본] 1일차 - View

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com for idx in range(2, N-2) 내에서, idx를 중심으로 2칸 내외의 건물들의 높이 수집 조망권 세대는 현재 건물(idx)과 2칸 내외([idx-2, idx+2]) 중 가장 큰 건물 차이로 결정됨이 때, 조망권 세대는 (현재 건물 - 2칸 내외 중 가장 큰 건물)의 차이가 양수일 경우 더하도록 함 for t in range(10) : # 테스트 케이스 10개 N = int(input..

2072. 홀수만 더하기

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QSEhaA5sDFAUq SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 10000 이하의 정수들에서 홀수인 값만 더하기 T = int(input())# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.for test_case in range(1, T + 1): ans = 0 integers = list(map(int, input().split())) for integer in integers : if integer % 2 != 0 : ..

16565번: N포커

https://www.acmicpc.net/problem/16565 묘하게 재귀로 풀 수 있을 것 같았는데, 실패해서 다른 블로그 힌트를 보며 풀었다.다들 '포함-배제의 원리'를 사용해서 풀고 있었다. https://mango-juice.com/26 [조합론] 포함-배제의 원리(Inclusion-Exclusion Principle)포함-배제의 원리란?포함-배제의 원리(Inclusion-Exclusion Principle)란 여러 집합들의 합집합의 크기를 구하는 데 사용하는 공식이다.포함-배제의 원리는 교집합의 크기로 합집합의 크기를 구하거나,mango-juice.com 두 집합 $A, B$가 있을 때 $|A \cup B|$의 크기는 다음과 같다.$$|A \cup B| = |A| + |B| - |A \c..

코테풀이/백준 2025.11.03

15824번: 너 봄에는 캡사이신이 맛있단다

https://www.acmicpc.net/problem/15824 처음 아이디어는 nCr마냥 각 조합별 최솟값, 최댓값을 구하고, 해당 최솟값 최댓값의 차를 그 조합수 만큼 곱하여 주헌고통지수 합을 구했었는데 3중 for문과, nCr 조합 수를 for문으로 구하는 그 시간 때문에 시간 초과 문제가 있었다. 그래서 알아보다가 밑의 블로그 글의 힌트를 참고했다.https://cding.tistory.com/119 [백준] 15824 - 너 봄에는 캡사이신이 맛있단다 힌트, 풀이 및 코드(C++)https://www.acmicpc.net/problem/15824 15824번: 너 봄에는 캡사이신이 맛있단다 한 줄에 모든 조합의 주헌고통지수 합을 1,000,000,007로 나눈 나머지를 출력한다. www.ac..

코테풀이/백준 2025.11.02

[GraphRAG] GraphDB와 LLM으로 추천 시스템 만들기

https://www.youtube.com/watch?v=dzQZvebTvKc 추천 시스템의 종류아이템(콘텐츠) 기반 추천 시스템(item-based)사용자가 좋아하는 아이템과 유사한 아이템을 추천하는 방식ex ) "토이스토리와 비슷한 장르의 영화를 추천해주세요", "인셉션 감독의 다른 영화를 추천해주세요"사용자 기반 추천 시스템(user-based)특정 아이템을 좋아하는 사용자가 좋아하는 또 다른 아이템을 추천하는 방식ex ) "토이스토리를 좋아하는 사람들이 공통적으로 좋아하는 영화를 추천해주세요" 추천 시스템 예시 : 사용자 기반특정 영화를 좋아하는 사용자가 좋아하는 또 다른 영화 추천= "토이스토리" 영화를 재밌게 봤던 사람은 000 영화도 재밌게 봤어요MATCH (m:Movie)(rec:Movie..

NLP/실습 2025.10.30

1629번: 곱셈

https://www.acmicpc.net/problem/1629 그냥 분할 정복을 이용한 거듭 제곱을 구현하고 나누면 끝인 거 아닌가? 라고 생각했는데,수가 커질 때 나머지를 구하는 연산도 느려지는지 시간초과가 났다. 그래서 어떻게 해야하지 하면서 찾아보던 중https://deepdata.tistory.com/369 분할정복을 이용한 거듭제곱 빠르게하기1. 분할정복 문제를 더 이상 나눌 수 없을 때까지 더 작은 문제로 나누면서 이 작은 문제들을 각각 풀면서, 병합하여 전체 문제의 답을 구하는 알고리즘 divide - conquer - combine 방식으로 설계한다.deepdata.tistory.com위 블로그에서 중요한 정리를 하나 보여주었다.이걸 보고 진짜인지 계산을 직접 해보았다. 예시로 $22^..

코테풀이/백준 2025.10.27

13334번: 철로

https://www.acmicpc.net/problem/13334아이디어각 사람들의 집과 사무실에 상관 없이 선분 상 왼쪽에 있는 곳을 튜플의 왼쪽에 둔다. (x, y) -> x 스위핑 방식 : 사람들 case를 정렬한 후, 각 case마다 오른쪽 점을 기준으로 한 철로를 옮기면서 철로 별 case가 얼마나 있는지 계산한다.case 정렬철로 안에 있는지 판별을 오른쪽 점인 y를 기준으로 판별하므로, y값을 기준으로 오름차순으로 정렬한다.철로 좌표 = (start, end)우선순위큐 사용 철로 안에 case가 있으면, 해당 case를 queue에 push한다.철로 안에 없는 new case 차례라면 철로를 옮겨야 한다.철로를 new case의 end값을 기준으로 설치한다고 가정이 때, 새 철로 start..

코테풀이/백준 2025.10.18

2170번: 선 긋기

https://www.acmicpc.net/problem/2170아이디어start와 end는 각각 이어지는 긴 선분의 처음과 끝 부분이다.튜플 (x, y)에서 x가 end보다 큰 경우, 새로운 선분임으로 취급한다.이 때, 새 선분 이전까지의 선분 길이를 정답에 더한다.이후 start와 end를 갱신한다.일부만 포함된 경우, end값만 y로 갱신한다.완전히 포함된 경우 선분 길이에 영향이 없으므로 아무 행동을 취하지 않는다.# https://www.acmicpc.net/problem/2170# sweepingimport sysN = int(input())lines = [0] * Nfor idx in range(N) : x, y = map(int, sys.stdin.readline().split()) ..

코테풀이/백준 2025.10.18

[GraphRAG] Neo4j 생성형 AI 패키지로 영화 줄거리 검색 엔진 만들기

https://www.youtube.com/watch?v=FeAowtZB80w Neo4j그래프 데이터베이스 DBMS, Cypher라는 그래프 쿼리 언어를 통해 그래프 데이터를 다룸 Cypher그래프 데이터베이스에 접근하기 위해 사용되는 그래프 쿼리 언어MATCH (n1)-[r]->[n2] RETURN r, n1, n2 LIMIT 25MATCH : 어떤 노드와 어떤 관계를 표현할 건지 검색할 노드와 릴레이션을 표현하는 구문RETURN : 위에서 표현된 노드와 릴레이션들 중 어떤 값을 반환할 건지에 대한 설명을 RETURN 구문에 작성LIMIT : 어떤 노드와 릴레이션들이 조회가 되었다면, 그 조회된 값들 중 25개만 리턴하고 싶으면 LIMIT 25WHERE 등의 조건문도 사용 가능Neo4j Sandbox..

NLP/실습 2025.10.14

11725번: 트리의 부모 찾기

https://www.acmicpc.net/problem/11725 입력으로 주어지는 것들이, '처음에 나오는 것이 부모다'라는 말이 없어서 undirectional graph로 트리를 생성했다.노드 1이 항상 루트이므로, 노드 1에서부터 BFS를 수행하며 노드의 부모를 찾는 것을 목표로 했다. # https://www.acmicpc.net/problem/11725# Tree, BFSimport sysfrom collections import defaultdict, dequeN = int(input())tree = defaultdict(list)for _ in range(N-1) : a, b = map(int, sys.stdin.readline().split()) tree[a].append(b..

코테풀이/백준 2025.10.13