문제 설명[본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.]세로길이가 n 가로길이가 m인 격자 모양의 땅 속에서 석유가 발견되었습니다. 석유는 여러 덩어리로 나누어 묻혀있습니다. 당신이 시추관을 수직으로 단 하나만 뚫을 수 있을 때, 가장 많은 석유를 뽑을 수 있는 시추관의 위치를 찾으려고 합니다. 시추관은 열 하나를 관통하는 형태여야 하며, 열과 열 사이에 시추관을 뚫을 수 없습니다.예를 들어 가로가 8, 세로가 5인 격자 모양의 땅 속에 위 그림처럼 석유가 발견되었다고 가정하겠습니다. 상, 하, 좌, 우로 연결된 석유는 하나의 덩어리이며, 석유 덩어리의 크기는 덩어리에 포함된 칸의 수입니다. 그림에서 석유 덩어리의 크기는 왼쪽부터 8, 7, 2입니다.시추관은 위 그림처럼 설치한 위치 ..
코딩 테스트에서 유용한 파이썬 스킬들코딩 테스트에서 파이썬은 간결한 문법과 다양한 라이브러리 지원으로 많은 인기를 얻고 있다. 아래는 코딩 테스트에서 자주 활용되는 파이썬 스킬들을 정리한 것이다. 이를 익히고 연습한다면 문제 풀이 속도와 정확도를 높일 수 있다.1. 기본 입출력input()과 print()를 활용해 데이터를 주고받는다.여러 줄 입력을 받을 경우 sys.stdin.readline()을 사용하는 것이 더 빠르다.import sysinput = sys.stdin.readlinen = int(input()) # 정수 입력arr = list(map(int, input().split())) # 공백 구분 여러 값 입력2. 리스트 컴프리헨션한 줄로 리스트를 생성하거나 변환할 수 있다.조건을 추가해..
문제방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다.입력첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u에서 v로 가는 가중치 w인 간선이 존재한다는 뜻이다. u와 v는 서로 다르며 w는 10 이하의 자연수이다. 서로 다른 두 정점 사이에 여러 개의 간선이 존재할 수도 있음에 유의한다.출력첫째 줄부..
Python bisect 라이브러리: 효율적인 정렬 데이터 검색 및 삽입Python의 bisect 라이브러리는 정렬된 데이터를 효율적으로 관리할 수 있는 도구를 제공한다. 이 라이브러리는 이진 검색 알고리즘을 기반으로 하며, 정렬된 리스트에서 요소를 삽입하거나 검색하는 작업을 빠르게 수행할 수 있다. 이번 글에서는 bisect 모듈의 주요 함수와 활용 방법을 자세히 살펴본다.1. bisect의 주요 함수1.1 bisect_leftbisect_left는 리스트에서 특정 값이 삽입될 수 있는 가장 왼쪽 인덱스를 반환한다.사용법from bisect import bisect_leftsorted_list = [1, 3, 4, 6, 8]idx = bisect_left(sorted_list, 5)print(idx) ..
파이썬에서 리스트와 딕셔너리의 차이파이썬에서 리스트(List)와 딕셔너리(Dictionary)는 가장 많이 사용되는 데이터 구조이다. 이 글에서는 두 데이터 구조의 차이점과 각각의 장단점을 설명하고, 사용 사례를 제시한다.1. 리스트(List)란?리스트는 파이썬에서 순서가 있는 데이터의 집합을 저장하는 자료형이다. 리스트는 인덱스를 사용하여 각 요소에 접근할 수 있으며, 다양한 자료형을 함께 저장할 수 있다.# 리스트 생성fruits = ["apple", "banana", "cherry"]print(fruits[1]) # 결과: banana리스트의 주요 특징순서 유지: 삽입한 순서대로 요소가 저장된다.인덱스 접근: 각 요소는 0부터 시작하는 정수형 인덱스로 접근 가능하다.변경 가능: 리스트의 요소를 추..
음성 데이터 학습 모델 개발에 필요한 정보파이썬에서 음성 데이터를 학습하는 모델을 개발하려면 데이터 준비부터 모델 설계, 학습, 평가에 이르는 전 과정을 체계적으로 이해하는 것이 중요하다. 이 글에서는 음성 데이터 학습 모델을 만들기 위해 필요한 정보를 단계별로 정리한다.1. 음성 데이터란?음성 데이터는 사람의 음성을 디지털 형식으로 저장한 데이터다. 주로 시간에 따른 진폭 변화를 포함하며, 오디오 파일 형식(예: PCM, WAV, MP3 등)으로 저장된다. 음성 데이터를 학습 모델에 사용하려면 이를 전처리하여 특징(feature)을 추출해야 한다.2. 데이터 준비2.1. 데이터셋 수집음성 데이터셋은 모델 성능에 큰 영향을 미친다. 다음은 음성 데이터셋을 수집할 수 있는 주요 소스들이다:공개 데이터셋: ..