[Python] 백준/BOJ 5545번: 최고의 피자 (Silver 3)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 상근이는 근처 피자 가게에서 매일 저녁으로 피자를 배달해 먹는다. 주머니 사정이 얇아진 상근이는 이번 달부터는 "최고의 피자"를 구매하려고 한다. 최고의 피자란, 피자 가게에서 주문할 수 있는 피자 중 1원당 열량이 가장 높은 피자를 말한다. 최고의 피자는 여러 종류가 있을 수도 있다.이 피자 가게는 토핑 N개에서 여러 종류를 선택해서 주문할 수 있다. 같은 종류의 토핑을 2개 이상 선택할 수는 없다. 또, 토핑을 전혀 선택하지 않을 수도 있다.선택한 토핑은 도우 위에 올라간다. 도우의 가격은 A원이고, 토핑의 가격은 모두 B원이다. 피자의 가격은 도우와 토핑의 가격의 합계가 된다. 즉, 토핑을 k종류 (0 ≤ k ≤ N) 선택했다면, 피자의 가격은 A + B*k원이 된..
[Python] 백준/BOJ 17291번: 새끼치기 (Silver 2)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 실험실에서 새로운 종의 벌레 한 마리가 탄생하였다. 벌레는 스스로 분열하며, 분열하면 자기 자신과 같은 벌레를 한 마리 만들어 내게 된다. 벌레가 분열하는 규칙은 다음과 같다.벌레는 기준연도 1년 2월에 1마리가 탄생한다.벌레는 매년 1월이 되면 분열한다. 분열 시 본래의 개체는 그대로, 새로운 개체가 하나 탄생하는 것으로 본다.홀수 연도에 탄생한 개체는 3번 분열 시, 짝수 연도에 탄생한 개체는 4번 분열 시 사망한다.예를 들어, 기준년도 1년 2월에 존재하던 벌레는, 2년 1월, 3년 1월, 4년 1월에 분열하고 사망하여 4년 말에는 존재하지 않게 된다. 이때, N 년 말에 존재하는 벌레의 수를 구하여라. 💡 Approach먼가.. 문제를 읽어 보니 DP겠다 싶어서..
[Next.js] Next 15에 MSW(Mock Service Worker) 세팅하기
·
Next.js
1. MSW란?MSW(Mock Service Worker)는 API를 흉내 내는(mocking) 라이브러리이다.Service Worker를 활용해서 네트워크 요청을 가로채고 응답을 가짜로 돌려준다.MSW를 쓰면 백엔드 API가 준비되지 않은 상태에서도 프론트엔드에서 미리 개발이 가능하다. MSW 공식문서를 보면서 따라해보자!다만 Next.js에서는 MSW가 완벽하게 연동되지 않는다.SSR Fetch를 위해 추가적으로 작성해줘야 하는 코드가 있다.MSW에서 제공하는 Next.js + MSW 예제가 있는데 이거랑 Next.js(MSW 포함) 강의 들었던 거랑 다 참고해서 세팅했다. 2. 패키지 설치일단 msw 패키지부터 설치한다.npm i msw --save-dev 3. 클라이언트 환경(브라우저) 설정moc..
[GitHub] 라벨(Label) & 이슈 템플릿(Issue Template) 만들기
·
DevOps/Git
이번에는 이슈 템플릿이랑 만들어 보려고 한다!사실 지난 프로젝트에서도 GitLab에서 사용하긴 했지만.. 그땐 팀원이 다 만들어준 상태에서 이용했었는데 이번 프로젝트에서는 내가 도입해보려고 한다.누군가에게 도움이 될까 싶어서 양식/예시도 올려뒀다. ✏️ 라벨 만들기라벨은 기본적으로 주어져 있어서 건들지 않아도 사용할 수 있긴 하다.나는 우리 프로젝트에 맞게 수정하고 싶어서 라벨부터 바꿔줬다. 먼저 리포지토리에 들어가서 Labels를 들어가면 리포지토리의 라벨 목록이 뜬다. 기본적으로 여러 개 있었지만 나는 아래와 같이 수정했다!타입이 따로 있긴 하지만 타입은 커스텀이 안돼서 타입을 안쓰고 라벨에서 관리하는 거 같다.일단 필요하다고 생각되는 것들 만들어봤는데 프로젝트 하다보면 수정할지는 모르겠다. 이렇게 ..
[Python] 백준/BOJ 21760번: 야구 시즌 (Silver 5)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 KOI 야구 리그에는 N개의 지역리그가 존재하고 각 지역리그에는 M개의 팀이 존재해서, 리그 전체로는 N × M개의 팀으로 운영되고 있다.한 시즌에 각 팀은 같은 지역리그 팀뿐만 아니라 다른 지역리그 팀과도 경기를 해야 한다. 같은 지역리그 팀과의 팀당 경기 수는 A로 같은 지역리그 팀들에 대해서 모두 동일하다. 즉, 한 팀 X는 같은 지역리그에 있는 모든 팀 Y (≠ X)와 각각 A번의 경기를 한다. 또한 다른 지역리그 팀과의 팀당 경기 수는 B로 다른 지역리그 팀들에 대해서 모두 동일하다. 즉, 한 팀 X는 다른 지역리그에 있는 모든 팀 Z( ≠ X)와 각각 B번의 경기를 한다. 단, A와 B는 A = k × B (k는 1 이상의 정수)를 만족해야 한다.세계적 판데..
[Python] 백준/BOJ 1932번: 정수 삼각형 (Silver 1)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 7 3 8 8 1 0 2 7 4 44 5 2 6 5위 그림은 크기가 5인 정수 삼각형의 한 모습이다.맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다.삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 이하이다. ✏️ Solution 1import sysinput = sys.stdin.readlinen = int(input(..
[Python] 백준/BOJ 14500번: 테트로미노 (Gold 4)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안 된다.도형은 모두 연결되어 있어야 한다.정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다.테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 작성하시오.테트로미노는 반드시 한 정사각형이 정확히 하나의 칸을 포함하도록 ..
[Python] 백준/BOJ 14626번: ISBN (Bronze 1)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 ISBN(International Standard Book Number)은 전 세계 모든 도서에 부여된 고유번호로, 국제 표준 도서번호이다. ISBN에는 국가명, 발행자 등의 정보가 담겨 있으며 13자리의 숫자로 표시된다. 그중 마지막 숫자는 체크기호로 ISBN의 정확성 여부를 점검할 수 있는 숫자이다. 이 체크기호는 일련번호의 앞에서부터 각 자리마다 가중치 1, 3, 1, 3…. 를 곱한 것을 모두 더하고, 그 값을 10으로 나눈 나머지가 0이 되도록 만드는 숫자 m을 사용한다. 수학적으로는 다음과 같다.ISBN이 abcdefghijklm 일 때, a+3b+c+3d+e+3f+g+3h+i+3j+k+3l+m ≡ 0 (mod 10)즉, 체크기호 m = 10 - (a+3b+c..