2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 문제 접근 로프의 개수와 들 수 있는 중량이 주어지고 가장 많이 들 수 있는 중량을 구하는 문제. 처음에는 단순히 15, 10 두개의 루프가 있을 때 15로 나누었을 때 1, 0 이면 15를 들 수 있고 10으로 나누었을 때 1, 1로 20을 들 수 있기 때문에 이러한 방식으로 풀려고 했다. 하지만 이러한 방식은 for 루프를 두번 돌리거나 코드가 복잡해 졌다. 결국 풀지 못하고 다른 코드를 참고 해 보았다.... 알고리즘 그리디 알고리즘 코드 k = ..
5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 문제 접근 큰 단위의 거스름돈으로 먼저 최대한 바꿔줄 수 있는 수량을 파악해야했다. 거스름돈 종류는 이미 순차적으로 제공되었다. 알고리즘 그리드 알고리즘 풀이 과정 cnt = 0 price = int(input()) change = 1000 - price money = [500, 100, 50, 10, 5, 1] while change > 0: for m in money: if (change // m) > 0: cnt += 1 change ..
적용 이유 개인 정보 보호를 위해 고객 데이터를 삭제하는데 삭제 시간을 한번에 업데이트 할 필요가 있었다. 한 콜에 여러 업데이트를 할 수 있는 장점은 있지만 SQL 인잭션과 같은 이유로 보안상에는 좋지 않다. 환경 springboot 2.5.5 1. Mybatis 업데이트 쿼리 UPDATE TABLE SET DELETE_DTTM = DATE_FORMAT(NOW(), '%Y%m%d%H%i%s') WHERE 1=1 AND 고객정보1 = #{item.고객정보1} AND 고객정보2 = #{item.고객정보2} 위의 쿼리를 살펴보면 parameterType에는 VO가 있는데 List 안에 VO 객체를 넣고 Mybatis에 전달하는 형태로 구현했다. collection에는 리스트 변수명을 넣어주었다. List d..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bvXhma/btr0zFgMyfe/gArMyEx9AzvcNnzVkJJOt0/img.png)
mongodb에 데이터를 입력하면 _id 외에 다른 key의 중복 값을 제거해야할 필요가 있다. 의료 상담 데이터를 크롤링하는 과정에서 중복된 document가 발생하여 중복 값을 제거 하는 것을 찾아보았다. 하지만 어느 버전 이상부터 중복 값을 제거하는 기능이 없어져서 새로운 collection을 만든 후 유니크한 데이터를 옮기는 방법을 선택했다. hidoc 컬랙션 수 (중복값이 있는 컬랙션) hidoc 컬랙션 유니크 값 (counselAnswerCid 키를 기준) temp 컬랙션을 생성 (counselAnswerCid를 유니크 키로 지정) hidoc의 컬랙션을 전부 temp로 옮김 temp 카운트 확인 기존의 hidoc 컬랙션을 지우고 컬랙션 이름 변경
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/kDKDU/btrNka9Je7g/d965tZnCMhXnOLs02VFZqk/img.png)
pem키 없이 AWS 라이트세일 서버에 접속할 수 있는지 찾아보다가 EC2 서버로의 접속만 있어서 이곳저곳 자료를 찾아보고 정리를 해보았다. Key 없이 접속하기 위해서는 서버에 ssm 에이전트가 설치되어야하고 System Manager를 사용해야 한다 작업 환경 - ubuntu 20.04 LTS 1. SSM 에이전트 구동 확인 서버를 구축하면 ssm agent가 이미 설치된 것을 확인할 수 있다. 실행 중인 agent를 멈추고 /etc 경로 밑에 ssm agent 실행에 필요한 파일들을 옮겨야 한다. 2. SSM 에이전트 관련 파일을 /etc/amazon/ssm 에 이동 ssm agent 관련 파일을 이동한다. $ mkdir /etc/amazon $ mkdir /etc/amazon/ssm $ cp -r..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/vPiLv/btrMDpzr49H/CYVqroXd1kGD6xpxCuhXd0/img.png)
프로젝트를 진행하다보면 외부 라이브러리나 패키지를 사용해야하는 경우가 많다. 패키지에는 서로 버전에 맞는 의존성이 있기 때문에 프로젝트마다 다른 패키지 버전을 사용하게 된다. 프로젝트마다 독립적인 환경으로 관리하면 패키지를 지웠다 설치했다 반복할 필요없고 버전간의 충돌을 최소화 할 수 있다. 그래서 가상환경을 이용해서 프로젝트를 관리해야할 필요성이 있다. 그럼 Anaconda 설치 후 가상환경 생성과 파이썬 IDE 중 파이참에 어떻게 적용하는지 알아보자. 1. Anaconda Prompt 실행 2. 가상환경 생성 - 프롬프트에서 conda create -n 가상환경이름 python=파이썬버전 을 입력한다. - 잠시후 Y를 입력하여 생성을 계속 진행한다. 3. 생성된 가상환경 확인 - conda env l..
- Total
- Today
- Yesterday
- Ai
- FastAPI
- 다이나믹프로그래밍
- linux
- 파이썬
- 보안
- 보안기사
- 정보보안
- t검정
- 백준
- synflooding
- lightsail
- 정보보안기사
- t-test
- 카카오페이
- java
- 딥러닝
- 카카오페이면접후기
- 그리디
- 프로그래머스
- 자료구조
- 시간초과
- 리눅스
- 코딩테스트
- Python
- LangChain
- 분산시스템
- llm
- springboot
- 우선순위큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |