전체 글 96

라즈베리파이 기반 지하철 안내방송 수집 시스템 구축

1. 프로젝트 소개지하철에서는 열차 지연, 운행 변경, 무정차 통과, 긴급 상황 등 다양한 정보가 안내방송을 통해 전달된다.하지만 이러한 안내가 음성을 중심으로 제공되기 때문에 청각장애인이나 난청 승객은 중요한 정보를 즉시 확인하기 어렵다는 문제가 있다.이 문제를 해결하기 위해 지하철 안내방송을 실시간으로 수집하고, 음성을 텍스트로 변환한 뒤 안내 유형과 중요도를 분석하여 사용자에게 시각적으로 전달하는 서비스를 개발했다.전체적인 서비스 흐름은 다음과 같다.지하철 안내방송 ↓음성 데이터 수집 ↓STT를 통한 음성 → 텍스트 변환 ↓안내 유형 및 중요도 분석 ↓실시간 열차 정보와 결합 ↓사용자 Web UI 전달2. 담당 역할이 프로젝트에서 나는 전체 파이프라인의 ..

2026년 KT디지털인재장학생 합격 기록

2026년 KT디지털인재장학생에 합격하였다.장학 프로그램으로 네트워킹과 프로젝트를 할 수 있어 꼭 합격하고 싶었는데 합격하게 되어 만족스럽다.지원서지원서는 총 3문항이 있었다.디지털인재장학생스럽게 모두 인성적인 부분 보다는 역량을 나타내는 항목이었다.그동한 참여한 LG Aimers, 소프트웨어 개발보안 대회, 학부연구생을 중심으로 작성하였다.면접KT 광화문빌딩에서 면접을 진행하였다. 가장 열심히 참여했던 프로젝트인 DealChain 내용 위주로 답변했으며 딱히 막히는 질문 없이 잘 대답하고 온 것 같다.면접이 끝나고 공짜 음료와 KT온마루에서 진행 중이던 전시회까지 참여할 수 있어 상당히 만족스러운 면접날이었다.

My Page 2026.03.04

백준 6579번 [히스토그램에서 가장 큰 직사각형]

구간 전체를 한 번에 처리하기 어렵다.최소 높이를 기준으로 좌우로 나눌 수 있다.ㅡ> 분할 정복 시도vector arr;ll sol(int l, int r){ if(l==r) return arr[l]; int mid = (l+r)/2; ll lmax = sol(l,mid); ll rmax = sol(mid+1, r); ll ret = max(lmax, rmax); int b = mid; int e = mid+1; ll y = min(arr[b], arr[e]); ll pmax = 2*y; while(b>l || e arr[e+1]){ b--; } else{ e++; } y=min(y, min(arr[b], arr[e])); pmax = max(pmax, (e-b+1)*y); } ret =..

Algorithm/PS 2026.02.26

Segment Tree

Segment Tree 사용 조건1. 연산이 결합 법칙을 만족2. 연산에 항등원이 존재 - 리프노드에 원본 데이터를 입력vector tree;int main() { int n; cin >> n; int height = 0; while((int)pow(2, height) > tree[i]; } build(treeSize-1); //update(node + leftNodeIndex - 1, val); //query(start + leftNodeIndex - 1, end + leftNodeIndex - 1) return 0;} - build, query, update 함수를 연산에 따라 작성//구간합void build(int i){ while(i>1){ tree[i/2] += tree[i]; i--; }}..

Algorithm/PS 2026.02.26

제 13기 운해장학생 합격 기록

감사하게도 2026년 제 13기 운해장학생으로 선정되었다.이공계 학생들을 위한 장학금으로 학교 추천을 통해 지원할 수 있었다.지원서지원서는 크게 2문항 각 문항 안에 작게 3문항씩 있었다.첫 문항인 자기소개서에는 성장과정, 성격, 자기계발을 위해 노력한 경험 등 일반적인 내용들이 있었다.이 문항에서는 전공지식 보다는 인성적인 부분을 많이 드러내었다.특히 자기계발을 위해 노력한 경험에는 그동안 나에게 맞는 진로를 찾으려 했던 과정을 적었다.두번째 문항은 학업계획서로 진로를 임베디드로 결정한 이유와 이와 관련 활동, 앞으로의 계획을 서술하였다.장학증서 수여식장학증서 수여식에서 관계자분들의 말씀을 들으며 이 장학금에 담긴 기대와 믿음을 느낄 수 있었다.앞으로 더욱 성실히 정진해야겠다는 동기를 얻은 의미 있는 ..

My Page 2026.02.24

백준 1948번 [임계경로]

위상정렬로 최장 경로를 구한 후 해당 경로 찾기그래프에서 역추적 + DP로 경로 구하기vector world[10001];vector reverse_world[10001];bool visited[10001] = {false,};int idx[10001] = {0,};int dis[10001] = {0,};int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; cin >> n >> m; for(int i=0;i> u >> v >> w; world[u].push_back({v, w}); reverse_world[v].push_back({u, w}); idx[v]++; } int start, end; cin >>..

Algorithm/PS 2026.02.21

백준 1516번 [게임 개발]

사이클 없는 그래프에서 선후관계를 따질 때 ㅡ> 위상정렬(먼저 해야한다, 의존 관계, 선행 작업...)vector v[501];int idx[501] = {0,};int work_time[501] = {0,};int final_time[501] = {0,};int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; for(int i=1;i> t; work_time[i] = t; int b = 0; while(b!=-1){ cin >> b; if(b!=-1) { v[b].push_back(i); idx[i]++; } } } queue q; for(int i=1;i

Algorithm/PS 2026.02.21