본문 바로가기

전체 글

(110)
[백준 2960: 도영이가 만든 맛있는 음식] 파이썬 풀이 _ 조합 내장 함수 combinations 문제도영이는 짜파구리 요리사로 명성을 날렸었다. 이번에는 이전에 없었던 새로운 요리에 도전을 해보려고 한다.지금 도영이의 앞에는 재료가 N개 있다. 도영이는 각 재료의 신맛 S와 쓴맛 B를 알고 있다. 여러 재료를 이용해서 요리할 때, 그 음식의 신맛은 사용한 재료의 신맛의 곱이고, 쓴맛은 합이다.시거나 쓴 음식을 좋아하는 사람은 많지 않다. 도영이는 재료를 적절히 섞어서 요리의 신맛과 쓴맛의 차이를 작게 만들려고 한다. 또, 물을 요리라고 할 수는 없기 때문에, 재료는 적어도 하나 사용해야 한다.재료의 신맛과 쓴맛이 주어졌을 때, 신맛과 쓴맛의 차이가 가장 작은 요리를 만드는 프로그램을 작성하시오.입력첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이..
[백준 2885: 초콜릿 식사] 파이썬 풀이 문제학교 근처 편의점에 새 초콜릿이 들어왔다. 이 초콜릿은 막대 모양이고, 각 막대는 정사각형 N개로 이루어져 있다. 초콜릿의 크기(정사각형의 개수)는 항상 2의 제곱 형태이다. 즉, 1, 2, 4, 8, 16, ...개의 정사각형으로 이루어져 있다.상근이는 점심식사로 초콜릿을 먹는다. 이때, 적어도 K개 정사각형을 먹어야 남은 수업을 졸지 않고 버틸 수 있다. 상근이의 친구 선영이도 초콜릿을 좋아한다. 선영이는 초콜릿은 돈을 주고 사기 아깝다고 생각하기 때문에, 상근이가 주는 초콜릿만 먹는다.상근이는 막대 초콜릿를 하나 산 다음에, 정확하게 K개 정사각형이 되도록 초콜릿을 쪼갠다. K개는 자신이 먹고 남는 것은 선영이에게 준다.막대 초콜릿은 나누기 조금 어렵게 되어 있어서, 항상 가운데로만 쪼개진다. ..
[React] 렌더링이 두 번 발생하는 이유 _ React.StrictMode 🚫 문제상황그림을 생성해주는 AI인 DALL.E를 이용해서 서비스를 제작하고 있는데,API 호출해서 나온 그림과, 저장해서 출력되는 그림이 달라서 코드를 뜯어보니까 API 호출이 두 번 되어서 그림을 두 번 생성해버려서 오류가 생긴 것이었다. 그래서 왜 API 호출이 두 번 되는지 열심히 찾아보았고,,처음에는 의존성 배열 문제인 줄 알고 삽질을 했는데, 콘솔을 찍어서 여러 번 확인해보니 모든 컴포넌트에서 값들이 기본적으로 두 번씩 랜더링 된다는 사실을 깨달았다.  ❔원인렌더링이 두 번 발생하는 이유는 React.StrictMode 때문이었다.create-react-app으로 프로젝트를 생성하면 자동 설정되기 때문에 나도 모르는 사이 설정되어있었던 strict 모드 때문에 리렌더링이 두 번 되는 것이었다..
[React] Axios 인스턴스 - 헤더에 acessToken 넣기 Axios 인스턴스axios.create([config])axios.create로 사용자 지정 config로 새로운 Axios 인스턴스를 만들수 있다. 🏴 axios.create 사용 방법const instance = axios.create({ baseURL: 'https://some-domain.com/api/', timeout: 1000, headers: {'X-Custom-Header': 'foobar'}}); baseURL로 기본 URL을 설정해주고,header에 요청 헤더를 작성할 수 있다. 매 번 요청을 보낼 때 마다 accessToken을 헤더에 매 번 붙이게 되면 반복되는 코드가 생기고, 번거롭기 때문에 axios instance를 설정함으로써 해결하려고 한다. 💡 프로젝트에 적용..
[React] 화면 캡처 후 저장 기능 만들기 - Html2Canvas 💻 만드려고 하는 부분 요즘 GPT로 그림 일기를 만드는 프로젝트를 제작중인데, 완성된 그림 일기 화면을 캡처해서, 인스타 공유 / 앨범에 저장 기능을 만드려고 한다 Html2Canvas 설치 후 적용하기 찾아보니 Html2Canvas 라이브러리를 활용해 간단히 화면 속 영역을 이미지로 바꿀 수 있길래 Html2Canvas를 사용하였다 html2canvas Screenshots with JavaScript. Latest version: 1.4.1, last published: 2 years ago. Start using html2canvas in your project by running `npm i html2canvas`. There are 2405 other projects in the npm reg..
[백준 10773: 제로] 파이썬 풀이 _ 스택 (stack) 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자! 입력 첫 번째 줄에 정수 K가 주..
[React] 리뷰 - 별점 기능 만들기 별 아이콘을 눌렀을 때, 해당 별점의 개수만큼 노란색 별로 바뀌게 하고, 오른쪽에 별점 개수를 출력하게 하는 기능을 만드려고 합니다! 1. svg 파일 저장 및 import 피그마에서 가져온 svg 파일로 assets 폴더에 greyStar.svg, yellowStar.svg로 저장해놓고 import 해서 사용하였습니다. 사용하고자 하는 파일에서 yellowStar과 greyStar를 import 해서 가져옵니다. 2. 별점 변경 함수 & map() 함수 이용해 출력 // 별점 기본값 설정 const [clicked, setClicked] = useState([false, false, false, false, false]); // 별을 5개로 표현하기 위한 더미 배열 const array = [0, 1,..
[백준 7785: 회사에 있는 사람] 파이썬 풀이 _ list와 set의 시간복잡도 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 문제 상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다. 각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다. 상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔는지가 기록되어져 있다. 로그가 주어졌을 때, 현재 회사에 있는 모..