분류 전체보기 18

[python] 백준 11047번 동전 0

동전 0문제준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.예제 입력 1 복사10 4200151050100500100050001000050000예제 출력 1 복사6예제 입력 2 복사10 4790151050100500100050001..

알고리즘 2024.11.08

[python] 백준 11723번 집합

https://www.acmicpc.net/problem/11723문제비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다.check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20)toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20)all: S를 {1, 2, ..., 20} 으로 바꾼다.empty: S를 공집합으로 바꾼다.입력첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 ..

알고리즘 2024.11.08

[python] 백준 1620번 나는야 포켓몬 마스터 이다솜

https://www.acmicpc.net/problem/1620 나는야 포켓몬 마스터 이다솜입력첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 물어봐도 괜찮아. 나는 언제든지 질문에 답해줄 준비가 되어있어.둘째 줄부터 N개의 줄에 포켓몬의 번호가 1번인 포켓몬부터 N번에 해당하는 포켓몬까지 한 줄에 하나씩 입력으로 들어와. 포켓몬의 이름은 모두 영어로만 이루어져있고, 또, 음... 첫 글자만 대문자이고, 나머지 문자는 소문자로만 이루어져 있어. 아참! 일부 포켓몬은 마지막 문자만 대문자일 수도 있어. 포켓몬 이름의 최대 길이는 20, 최소 길이는 ..

알고리즘 2024.11.03

[python] 백준 1003번 피보나치 함수

피보나치 함수문제다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다.int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); }}fibonacci(3)을 호출하면 다음과 같은 일이 일어난다.fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다.fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다.두 번째 호출..

알고리즘 2024.11.03

[pandas] csv 데이터 api 연동, 처리

환경 지수 출력 프로젝트 개발 중에, 환경 지수에 대한 공공데이터를 처리해야했다 [ 공공 데이터의 api를 받아와 연동한 후, 데이터 가공 ]필요 데이터 : 온실가스 데이터, 대기질 데이터, 음식물 쓰레기 데이터  step1. 데이터의 api를 받아와 필요한 데이터를 분리한 후, csv 형태로 저장해준다. (파이선 pandas 이용)import pandas as pdfrom io import StringIOimport requestsimport pprintimport json#음식물 쓰레기url_f = "https://openapi.gg.go.kr/Fodndrkwstoccur?KEY=7f21e9c535d044b8aeb51c90b1c8dff3&Type=json&pIndex=1&pSize=100"respon..

WEB 2024.11.03

[JWT]쿠키/세션/JWT 비교, jwt 구현 (nodejs)

보통 로그인을 구현할 때, 토큰을 많이 사용하곤 한다. JWT 토큰을 대부분 사용하는데 이 토큰에 대해 알아보도록 하자. 우선 쿠키와 세션에 대해 알고 있나요? 쿠키client가 웹사이트에 접속 시 그 사이트가 사용하게 되는 일련의 작은 기록 (클라이언트)ID/PW로 로그인 요청 → (서버)쿠키에 정보 저장 → (서버)정보 전달로그인 요청을 할 때 마다 받은 쿠키를 던져서 요청을 함다른 요청을 할 때에도 기존 쿠키로 ID, PW까지 동시에 클라이언트가 날림 단점노출 시 민감 정보까지 다 노출이 되어 보안이 안좋음브라우저마다 쿠키 지원 형태가 달라 브라우저 간의 공유 불가능쿠키 사이즈가 4KB로 제한되어있음서버는 매번 id, pw를 받아서 인증해야하는 불편함이 있음조작된 데이터가 넘어오는 경우를 방지할 수..

WEB 2024.10.29

[python] 백준 1966번 프린터 큐

https://www.acmicpc.net/problem/1966프린터 큐문제여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다.현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다.나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄를 한다.예를 들..

알고리즘 2024.10.28

스프링 의존성 주입에 관하여

스프링의존성 주입에 대해 알아보기 전에,먼저 계층 구조에 대해 다시 확인하고 가보자.보통 스프링에서 개발을 진행할 때, Controller, Service, Repository 이렇게 계층을 나누어 개발한다.Controller가 Service를, Service가 Repository를 관여하는 방식이다. 각각의 계층을 작성시 코드위에 @Controller, @Service, @Repository 어노테이션을 달아주는데, 이때 어노테이션의 역할은 해당 파일을 스프링 빈으로 등록하겠다는 의미이다.@Controller // 아래 코드를 컨트롤러로 스프링 컨테이너에 등록하겠다는 의미public class MemberController { private final MemberService memberServi..

WEB 2024.10.27