파이썬(5)
-
[프로그래머스 코테] 스택/큐 전문항 해설
스택/큐같은 숫자는 싫어문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,- arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.- arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.제한사항배열 arr의 크기 : 1,000,000 이하의 자연수배열 arr의 원소의 크기 ..
2024.05.02 -
Windows에서 tesseract OCR, pytesseract 환경설정하는 법
Tesseract OCR이란?Tesseract OCR은 오픈소스 광학 문자 인식(OCR) 엔진으로, 다양한 이미지 형식에서 텍스트를 추출할 수 있다. Tesseract는 한국어를 포함한 여러 언어를 지원하며, 사용자가 직접 학습 데이터를 추가하여 성능을 향상시킬 수 있는 기능을 제공한다. Medical Vision Lab에서 새로 주어진 과제로, 휴대폰 카메라로 촬영한 전자의무기록(EMR)을 OCR하여 문서화하는 작업을 수행하고 있다. 본 포스팅에서는 tesseract OCR 환경설정하는 방법에 대해 다루고자 한다. 설치: tesseract.exe 파일, pytesseract파이썬에서 사용 가능한 tesseract인 pytesseract는 라이브러리 형태로 제공한다. pip을 이용해 pytesseract..
2024.04.26 -
[백준] 집합과 맵 연습문제 (1764번, 10815번, 14425번, 7785번)
1764번: 듣보잡 김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오. 입력: 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다. 듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다. 출력: 듣보잡의 수와 그 명단을 사전순으로 출력한다. 문제를 보자마자 "교집합->set을 이용하자" 를 떠올렸다. Intersection..
2024.04.13 -
프로그래머스 코딩테스트 연습문제 : 추억 점수
연구실 분들이랑 일주일에 한 번씩 "프로그래머스"라는 사이트에서 문제를 푸는 코딩 스터디를 하기로 했다. 쉬운 난이도로 시작해서, 하는 거 보고 난이도를 올려갈 생각이라고 한다. 이 블로그에서는 [코딩연습] 섹션에 기록하도록 하겠다. 첫 주차라서, 이번 주 문제는 쉬웠다. 쉬울수록 천하제일 숏코딩대회가 되는 코딩판 문제 설명 사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인..
2024.04.06 -
탐색 알고리즘 (백준 1920번)
무작위로 N개의 수가 들어있는 리스트가 있다고 하자. 이 안에 특정 수 x가 들어있는지 찾는 최적의 알고리즘은 무엇일까? 이런 류의 문제를 탐색(searching)문제라고 한다. 탐색 문제에는 크게 세 가지 알고리즘이 있다. 선형 탐색(linear searching) 복잡도 : O(N) 선형 탐색은 N개의 수를 하나씩 차례대로 x인지 비교하는 방법이다. 이는 가장 간단한 알고리즘이지만 N이 커질 때 복잡도가 크게 늘어난다. 파이썬의 in 연산자가 선형 탐색을 이용한다. 이진 탐색(binary searching) 복잡도 : O(logN) 정렬된 리스트에서 사용 가능한 알고리즘으로, 아래의 순서로 진행된다. 리스트의 중간 인덱스를 잡고, 해당 인덱스의 값을 x와 비교하여 같으면 종료한다. 다르다면, 크기를 ..
2024.03.25