안녕하세요. 이번 글에서는 지난 학기부터 개발해 온 판례 암기 애플리케이션 에 대해 소개하고, 어떻게 구현했는지 소개하도록 하겠습니다. 1️⃣ 프로젝트 소개 기획 배경 저희는 변리사 시험을 준비하는 고시생의 판례 암기를 도와주고자 모바일 앱을 개발했습니다. 고시생은 아래와 같은 판례를 수백 개씩 외워야 하는데요. 확인대상 발명에 특허발명의 특허청구범위에 기재된 구성 중 변경된 부분이 있는 경우에도 특허발명과 과제 해결 원리가 동일하고, 특허발명에서와 실질 적으로 동일한 작용효과를 나타내며, 그와 같이 변경하는 것이 그 발명이 속하는 기술분야에서 통상의 지식을 가진 사람이라면 누구나 쉽게 생각해 낼 수 있는 정도라면, 특별한 사정이 없는 한 확인대상 발명은 특허발명의 특허청구 범위에 기재된 구성과 균등한 ..
18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net POINT 조합 Combinations 빈 좌표 배열에서 3개를 뽑는 조합을 사용하여, 장애물을 세운다. DFS 장애물을 세운 후, 선생님을 상하좌우로 한 칸씩 계속 이동시킨다. 장애물을 만나거나 벽에 다다르면, 다른 방향 감시하기 학생을 만나면, 감시를 종료하고 결과("NO") 출력하기 문제풀이 const fs = require("fs"); const input = fs.readFileSync("/dev/stdin").toString().trim().s..
14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net POINT DFS 주어진 연산자를 순열 알고리즘을 사용해서 풀었으나, 중복된 연산이 많고 비효율적이라 메모리 초과가 발생한다. → 한 연산에서 시작하여 나머지 연산을 수행하는 모든 경우를 구하기 위해 DFS를 사용한다. -0 JS에서는 -0이 출력이 된다. 백준에서 -0은 0이 아니므로 오답이다. 결과가 -0이면 0으로 바꿔주자. 문제풀이 const fs = require("fs"); const input =..
목차 서비스 배경 필요 기술 1️⃣ OCR 1. 도메인 생성하기 2. API Gateway 신청하기 3. API 연동하기 4. API 사용하기 2️⃣ KoSentenceBERT 1. Ubuntu 설치하기 2. Ubuntu 사용하기 3. Anaconda 설치하기 4. KoSentenceBERT 설치하기 5. KoSentenceBERT 사용하기 서비스 배경 시간이 흘러 졸업 프로젝트 하는 날이 다가왔습니다. 저희 팀이 선정한 서비스는 '판례 암기 어플'인데요. 저희의 주요 타겟은 변리사 시험을 준비하는 고시생입니다. 변리사 시험은 1차와 2차로 진행되는데, 서술형 형식의 2차 시험에서는 답안에 판례 내용을 문장 그대로 적는 실력이 요구된다고 합니다. 그럼 답안에 적는 '판결 요지' 하나가 얼마나 길냐 하면,..
14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net POINT Dynamic Programing (dp) 피보나치 수열이 대표적인 예시이다. 1. 큰 문제를 작게 나눌 수 있고, 2. 작은 문제에서 구한 결과가 큰 문제에서도 사용되면 Dynamic Programing을 사용한다. 재귀(Top-down), 반복(Bottom-up) 두 가지 방법이 있으며, 시간 복잡도를 고려해서 보통 반복문을 사용한다. 풀이 특이한 점은 dp를 거꾸로 적용해야 한다는 점이다. i 번째 날 수익이 그 이후 i + t번째 날에 영향을 받기 때문이다. i 번째 날의 수익을 더할지 말지 판단할 때, 그 상담이 끝난 후가 퇴사 전이어야 수익을 더할 수 있다. 반대로 i 번째 날 ..
6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net POINT Brute Force 모든 경우의 수를 탐색하여 정답을 찾는다. 즉, 전체 탐색을 사용한다. (순차 탐색, BFS, DFS 등) Backtracking + DFS = Combinations 백트래킹과 DFS를 함께 사용하여 조합을 구현한다. 풀이1️⃣ 조합 내장함수(combinations)를 사용한다. from itertools import combinations while True: data = list(map(int, input().sp..
- Total
- Today
- Yesterday
- 코딩테스트
- Spotify
- rn
- python
- 파이썬
- Unsplash
- 다이나믹프로그래밍
- 코드분석
- backtracking
- 키워드밑줄
- Python3
- 코테
- 동기
- p5js
- 코어자바스크립트
- 백준
- dfs
- 비동기
- 감시피하기
- 프로젝트
- DP
- React.js
- React
- 웅진IT
- node.js
- React-native
- 프로그래머스
- 판례암기
- fetch
- flutter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |