전체 글117 [Python][BOJ 22352] 항체 인식 [BOJ 22352] 항체 인식 Python 풀이📌 문제 분석N×M 크기의 배열에서 백신 투여 전과 후의 상태가 주어짐백신은 한 번만 투여되며, 투여된 칸과 상하좌우로 연결된 같은 값을 가진 칸들이 모두 동일한 값으로 변경됨주어진 투여 후 상태가 가능한 결과인지 판단해야 함🚨 시행착오처음에는 모든 칸에서 DFS를 시작하고, 가능한 모든 값으로 변경해보는 방식으로 접근시간 복잡도가 O(NM * NM * KNM)로 매우 높았음실제로는 백신이 한 번만 투여된다는 점을 활용하여 최적화 가능했음처음 코드의 문제점불필요하게 모든 칸에서 DFS 시작가능한 모든 값을 시도매번 배열을 원상복구하는 연산 필요어떻게 고쳤나요?투여 전/후가 다른 첫 지점만 찾아서 DFS 실행해당 영역을 투여 후의 값으로 한 번에 변경전체.. 2025. 1. 8. [Python][백준 2668] 숫자고르기 [백준 2668] 숫자고르기 Python 풀이📌 문제 분석이 문제는 결국 사이클을 찾는 문제입니다. 첫째 줄과 둘째 줄에서 고른 수들이 같아야 하는데, 이게 곧 사이클을 이루는 숫자들을 찾는 거랑 같습니다.🚨 시행착오처음에 DFS로 사이클을 찾으려고 했는데, 4%에서 자꾸 틀렸다고 나오더라구요.한참을 고민하다가 사이클 판단하는 부분에 문제가 있다는 걸 발견했습니다!처음 코드의 문제점방문 체크랑 경로 추적을 제대로 안 해서 정확한 사이클을 못 찾고 있었습니다현재 경로에 있는 노드들만 사이클로 봐야 하는데, 이전에 방문한 노드도 사이클로 잘못 판단했었죠그러다 보니 사이클이 아닌 경우도 결과에 들어가는 문제가 생겼습니다어떻게 고쳤나요?visited 집합으로 방문 체크하고path 리스트로 현재 경로를 추적하.. 2025. 1. 7. PDF 파일 번역 프로그램 - 회고 회고 오랜만에 문제해결을 위해 머리 싸매고 고민했던 것 같다. 내가 가진 능력으로 누군가가 겪는 어려움을 해결해준다는 것은 참 보람찬 일인것 같다. 결국 프로그래밍이란 것은 어떤 문제를 해결하기 위해 생겨났다 라는 것을 보면 난 어느새 프로그래머가 되어 있는것 같다. AI 의 발전 속도가 너무 빨라져서 앞으로 어떤 개발을 하게 될지, 얼마나 이 일을 할 수 있을지 모든게 불명확한것 같다. 특히 23~24년도는 개발자 취업난이 많이 심해 걱정이 많다. 주위에 취업을 못하는 있는 사람들도 여럿 되어 몸으로 체감하는 것 같다. 다행히 난 사회복무요원으로 복무를 시작해 25년도 11월까진 시간을 벌었다. 최대한 많은 것을 배우고 노력해보려고 한다. 이 시간을 그냥 허송세월로 보내버리기보단 알차게 살아보겠다. 이.. 2024. 4. 19. PDF 파일 번역 프로그램 - PDF 파일 번역 (대량) 아버지의 논문 자료들을 번역하기 위해 프로젝트를 시작한지도 벌써 3주가 넘었다.매일 낮에는 출근해야 해서 시간을 많이 투자하진 못했지만, 틈틈히 개발했고 실질적으로 4~5일만에 완성했다.번역 퀄리티는 아래 나온 예시를 참고하면 되며 구글 번역기에서 지원하는 언어들은 모두 지원한다. <h2 style="background-color:.. 2024. 4. 19. PDF 파일 번역 프로그램 - PDF파일 병합 및 다운로드 파일 병합 및 다운로드 기능 개발 시작! Firebase Storage 에서 번역이 완료된 파일들을 다운 받고 병합을 한 뒤 다운받는다. const downloadPDF = async (pageCount, storage) => { try { const mergedPDFDocument = await PDFDocument.create(); for (let i = 0; i < pageCount / 20; i += 1) { var storageRef = ref(storage, `gs://버킷명/번역완료된파일명`; storageRef = ref(storage, storageRef); const url = await getDownloadURL(storageRef); const arrayBuffer = await f.. 2024. 4. 19. PDF 파일 번역 프로그램 - Cloud Translation API Cloud Translation API 개발 시작!기존에 테스트 했을 때는 터미널에서 cURL 이나 Powershell 을 통해서 요청을 보냈는데자바스크립트에서 같은 내용으로 요청을 보내면 Oath2 인증오류가 발생했다.api key 나 oath2 사용자 계정을 만들어서 같이 .. 2024. 4. 18. PDF 파일 번역 프로그램 - Firebase 파일 업로드 Firebase 업로드 기능 개발 시작! 분할한 파일을 Cloud Storage 에 업로드 해야 Cloud Translation API 를 사용할 수 있다. Cloud Storage 에 직접 업로드를 시도해봤는데 보안 문제 때문에 안되는 것이 많았다. 그래서 버킷만 Cloud Storage에 만들어두고 업로드와 다운로드는 Firebase 통해서 하기로 결정했다. Firebase 에서 Cloud Storage의 버킷에 엑세스 할 수 있었다. 업로드가 모두 완료되고 나서 다음 작업을 할 수 있도록 Promise 도 걸어놨다. const uploadPDF = async (splitPDFs, storage) => { try { // 분할된 PDF 업로드 const uploadPromises = splitPDFs.. 2024. 4. 18. PDF 파일 번역 프로그램 - PDF 파일 분할(javascript) 파일 분할 기능 개발 시작! 일단 여러 블로그와 스택 오버플로우를 검색해봐도 자세한 내용은 찾기 어려웠다. 그래서 나의 오랜만에 나의 가장 친한 친구 ChatGPT 를 켰다. 자바스크립트로 PDF 파일 분할 코드를 알려달라고 해도 정확한 코드가 한번에 안 나와 예시 코드와 여러가지 질문들을 이어가며 수정에 수정을 거쳐 마침내 분할 코드를 완성할 수 있었다. 아래에 예시 코드는 PDF 파일을 20페이지 단위로 분할하는 코드이다. import { PDFDocument } from 'pdf-lib'; const splitPDFs = []; const pdfBytes = await file.arrayBuffer(); // file은 브라우저 상에 업로드 한것을 가져왔다 const pdfDoc = await PD.. 2024. 4. 18. PDF 파일 번역 프로그램 - 브라우저 파일 업로드 브라우저에 파일 업로드 기능 개발 시작! 사용자가 편하게 파일을 번역할 수 있으려면 접근성이 좋아야 한다고 생각했다 그래서 가장 접근성이 좋은건 웹이라고 판단했다. 이참에 한번도 안해본 React 와 Node.js 를 다뤄보기로 결정했다. 하지만 단기간에 프로젝트를 완성해 30개가 넘는 책을 번역해야 했기에 차근차근 React 공부를 할 여유는 없었다. 그래서 직접 붙딫혀보면서 배우기로 했다. (Flutter 처음 배울때도 이런식으로 했었다. 처음엔 힘들어도 한번 해보고 공부하면 이해가 더 쏙쏙 되는 장점이 있다.) 먼저 파일업로드 예시 코드를 검색했다. 여러 블로그들을 돌며 내가 원하는 기능이 구현된 코드들을 둘러봤고 내가 원하는 기능에 가장 가깝게 구현한 코드를 CTRL + C 했다 ㅎㅎㅎ 거기서 내.. 2024. 4. 18. [Python][백준 1148] 단어 만들기 https://www.acmicpc.net/problem/1148 1148번: 단어 만들기 어떤 신문엔 이러한 퍼즐이 있다. 3x3의 표에 영문자가 하나씩 있으며, 이 영문자들을 사용해서 최대한 많은 영단어를 만드는 것이 목표이다. 예를 들면, 아래의 퍼즐판에서는 'LINT', 'TILL', 'BRILLIAN www.acmicpc.net /* 신경써야 할 부분은 바로 : 1. 퍼즐에 있는 모든 글자들에 대해 각 글자마다 가능한 단어의 수 체크 2. 가장 많은 단어와 가장 적은 단어를 기록 및 출력 3. 단어의 수 체크할때 ASCII 코드 값 활용해서 배열 활용 간단한 문자열 문제 */ import sys input_func = sys.stdin.readline input_words = [] while T.. 2024. 4. 2. PDF 파일 번역 프로그램 - 계획 수립 개발 해야 할 것들 - PDF 파일 분할 기능 - 분할한 파일들 Cloud Storage에 업로드 - 업로드 한 파일들 번역 API 호출 - 번역 완료된 파일들 Cloud Storage에서 다운 - 다운 받은 파일들 하나의 파일로 합치기 - 위의 기능들을 넣은 웹사이트 제작 고려해야 할 것들 - 웹사이트로 기능을 제공할 생각이니 javascript 로 개발 고려 - 오남용 방지 (아직 계획 X) - 예상 비용 책정 Flow Chart 1차 목표 웹사이트 개발이 필요하니 Node.js 간단하게 학습 2024. 4. 1. PDF 파일 번역 프로그램 - 자료 조사 및 API 테스트 자료 조사 직접 만들기로 결정했으니 어떻게 만들지를 조사했다. 예전에 GCP 를 한참 많이 사용할 때 회사의 요청으로 번역 api 도 조사했었다. 그 때 봐두었던 문서 번역 API 가 생각이 났다. 그래서 문서 번역 API를 우선으로 조사했다. 조사 결과 PDF나 DOC 파일을 번역해주는 API를 GCP가 이미 제공하고 있었다. https://cloud.google.com/translate/docs/advanced/translate-documents?hl=ko 문서 번역 | Cloud Translation | Google Cloud 의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 문서 번역 Cloud Translation - Advanced는 PDF 및 DOC.. 2024. 4. 1. 이전 1 2 3 4 5 ··· 10 다음