Python 192

[10026] 적록색약

문제백준 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다.크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다)예를 들어, 그림이 아래와 같은 경우에RRRBBGGBBBBBBRRBBRRRRRRRR적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, 적록색약인 사람은 구역을 3개 볼 수 있다. (빨..

TIL/Baekjoon 2025.03.04

[2178] 미로 탐색

문제백준 문제N×M크기의 배열로 표현되는 미로가 있다.101111101010101011111011미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다.위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다.입력첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.출력첫째 줄에 지나야 하는 최..

TIL/Baekjoon 2025.03.04

[1260] DFS와 BFS

문제백준 문제그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다.입력첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다.출력첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력하면 된다.예..

TIL/Baekjoon 2025.03.04

[2845] 파티가 끝나고 난 뒤

문제백준 문제파티가 끝나고 나면, 사람들은 누가 파티에 왔는지와 얼마나 많은 사람들이 왔는지를 궁금해한다. 보통 파티는 매우 크게 열리기 때문에, 정확하게 몇 명이 참가했는지 알 수가 없다.지난주 토요일에 상근이는 자신의 3학년 진학을 기념하면서 매우 성대한 파티를 열었다. 그리고, 상근이는 1m2당 몇 명의 사람이 있었는지 알고있다.상근이의 파티는 정말 엄청난 규모였기 때문에, 대부분의 신문에도 기사가 실렸다. 상근이는 서로 다른 5개의 신문을 보면서 그 기사에 적혀져있는 참가자의 수를 적었다.상근이는 자신이 알고있는 참가자의 수가 정확하다고 생각한다. 각 신문 기사에 실려있는 참가자의 수가 몇 명 만큼 잘못되어있는지 구하는 프로그램을 작성하시오.입력첫째 줄에 1m2당 사람의 수 L (1 ≤ L ≤ 1..

TIL/Baekjoon 2025.03.04

[2752] 세수정렬

문제백준 문제동규는 세수를 하다가 정렬이 하고 싶어졌다.정수 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어졌다.정수 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오.입력정수 세 개가 주어진다. 이 수는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 수는 모두 다르다.출력제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다.예제 입력 1 3 1 2예제 출력 1 1 2 3 풀이numbers = list(map(int, input().split()))numbers.sort()print(numbers[0], numbers[1], numbers[2])

TIL/Baekjoon 2025.03.04

신경망 기계번역-seq2seq를 알아보자.

언어를 이해하는 인공지능   오늘은 신경망 기계 번역 - Seq2Seq 알아보자.오늘의 배움기계번역의 개념과 발전 과정Seq2Seq 모델의 구조와 작동 원리인코더-디코더 아키텍처와 한계점1. 신경망 기계 번역 정의: 한 언어의 텍스트를 다른 언어로 신경망을 활용하여 자동으로 변환하는 기술이다.한 줄 요약: 인코더가 원본 언어를 이해하고, 디코더가 목표 언어로 변환하는 인공지능 번역 시스템이다.특징:규칙 기반 → 통계적(SMT) → 신경망 기반(NMT)으로 발전인코더-디코더 구조와 어텐션 메커니즘 활용딥러닝 기반으로 자연스러운 번역 생성필요성:글로벌 커뮤니케이션 장벽 해소다양한 언어로 된 정보 접근성 향상자동화된 번역 서비스 제공장점/단점:장점: 자연스러운 번역, 문맥 이해, 확장성단점: 학습 데이터 의존..

Develop/AI 2025.03.03

자연어 딥러닝 응용 - 언어 모델링을 알아보자.

컴퓨터가 인간의 언어를 이해하는 방법   오늘은 언어 모델링에 대해 알아보자.  오늘의 배움언어 모델링의 기본 개념n-gram 모델과 활용법신경망 기반 언어 모델링(NNLM)1. 언어 모델링 정의: 언어 모델링은 텍스트 데이터의 통계적 특성을 학습하여 문맥에 맞는 단어를 예측하거나 문장을 생성하는 모델을 만드는 과정이다.한 줄 요약: 주어진 문장이나 단어들을 보고 "다음에 어떤 단어가 올 확률이 높을까?"를 예측하는 기술이다.특징:단어 시퀀스의 확률 분포를 학습한다이전 단어들의 문맥을 바탕으로 다음 단어를 예측한다다양한 종류(통계 기반, 신경망 기반)가 있다필요성:자연스러운 문장 생성에 필수적이다기계 번역, 음성 인식, 문서 요약 등에 활용된다인간-기계 상호작용의 기초가 된다장점/단점:장점: 문맥을 이해..

Develop/AI 2025.03.02

자연어 딥러닝 기초 - 텍스트 분류를 알아보자.

메일 스팸 필터링부터 감성 분석까지   오늘은 자연어처리의 텍스트 분류에 대해 알아보자.오늘의 배움나이브 베이즈 분류기의 확률적 접근RNN 기반 텍스트 분류 모델CNN 기반 텍스트 분류 모델과 멀티 레이블 분류1. 텍스트 분류 정의: 주어진 텍스트를 사전에 정의된 카테고리로 분류하는 자연어처리 작업이다.핵심 한 줄 설명: 텍스트의 특징을 추출하고 이를 바탕으로 어떤 카테고리에 속하는지 판단하는 과정이다.특징: 단어 빈도, 시퀀스 정보, 문맥적 의미 등을 활용한다.필요성: 대량의 텍스트 데이터를 자동으로 분류하여 정보 관리 및 분석이 필요하다.장점: 자동화된 정보 처리로 시간과 비용 절감이 가능하다.단점: 복잡한 언어 현상이나 문맥 이해에 한계가 있을 수 있다.[핵심 공식]- 나이브 베이즈 공식: P(c|..

Develop/AI 2025.03.02

자연어 딥러닝 기초 - GRU를 알아보자.

RNN의 진화, 더 똑똑하고 효율적인 기억력   오늘은 GRU에 대해 알아보자.오늘의 배움순환 신경망(RNN)의 발전된 구조GRU의 게이트 메커니즘양방향 GRU의 특성과 활용1. GRU (Gated Recurrent Unit)정의: RNN의 변형 구조로, 게이트 메커니즘을 통해 장단기 메모리를 효과적으로 관리하는 신경망 구조이다.핵심 개념 한 줄 설명: 업데이트와 리셋 게이트를 사용해 필요한 정보는 저장하고 불필요한 정보는 제거하는 스마트한 메모리 시스템이다.특징:LSTM보다 단순한 구조GRU는 LSTM에서 사용되는 셀 상태(Cell State)와 은닉 상태(Hidden State)를 하나로 통합하여 은닉 상태(h)만 유지한다.2개의 게이트만 사용LSTM의 3가지 게이트(망각, 입력, 출력 게이트) 대신..

Develop/AI 2025.03.02
728x90