분류 전체보기 86

[Algorithm/BOJ] 11399 : ATM.py

문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM 앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2인 경우를 생각해보자. [1,2,3,4,5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 3 + 1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람들이 돈을 뽑을 때까지 기다려야 하기 때문에, 3 + 1 + 4 = 8분이 필요하게 된다. ..

Algorithm/BOJ 2022.09.08

[NextJS] NextJS 깃헙 페이지 배포하기 (NextJS Github Pages Deployment)

참고 영상: https://youtu.be/dalXCXCIPHM 1. VS Code Setting 먼저 아래와 같이 package.json 파일의 scripts에 "export": "next export",를 추가한다 그리고 npm run build를 터미널에 입력한다 나는 npm run build 입력했더니 오류 발생하여 https://plming.tistory.com/211 를 참고하여 오류를 해결하였다 그리고 next.config.js의 nextConfig에 다음의 코드를 추가해준다 images: { loader: "akamai", path: "", } 그리고 npm run build와 npm run export를 터미널에 입력한다 npm run export를 입력한 뒤에는 아래처럼 out 폴더가 ..

ReactJS 2022.09.07

[Algorithm] 05. DFS/BFS : 자료구조

탐색 : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정ㄴ 대표적인 탐색 알고리즘: DFS & BFS자료구조 : 데이터를 표현하고 관리하고 처리하기 위한 구조ㄴ 스택과 큐 : 자료구조의 기초 개념ㅤ> 삽입 (Push) & 삭제 (Pop)을 핵심으로 하여 구성됨ㅤ> 오버플로 (특정한 자료구조가 수요할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생) & 언더플로 (특정한 자료구조에 데이터가 전혀 들어 있지 않은 상태에서 삭제 연산을 수행)도 고민해야 함 스택스택 = 박스 쌓기 = 아래에서부터 위로 쌓임 = 아래에 있는 박스를 치우기 위해서는 위에 있는 박스를 먼저 내려야 함 = 선입후출 구조 (First In Last Out) = 후입선출 구조 (Last in First O..

[NextJS] Fetching Data & Redirect & Rewrite (API Key 숨기기)

Fetching Data Redirection next.config.js의 nextConfig에 아래의 코드를 추가한다 async redirects() { return [ { source: "/contact", // user가 source로 이동한다면 destination: "/form", // 유저를 destination으로 보낸다 permanent: false, // ㄴ redirection이 영구적인지 아닌지에 따라서 // 브라우저나 검색엔진이 이 정보를 기억하는지의 여부가 결정된다 } ] } 그리고 next.config.js를 수정하였기 때문에 터미널에 npm run dev를 다시 입력해준다 그러면 localhost:3000/contact에 접속하였을 때 localhost:3000/form 주소로..

ReactJS 2022.09.05

[NextJS] Layout & Head Component

(1) Layout Pattern Layout pattern은 많은 사람들이 NextJS를 이용할 때 따르는 아주 흔한 패턴이다. 이는 custom app component를 사용할 때 쓰이는 패턴으로 _app.js 파일이 커지도록 하는 것을 방지하기 위해 레이아웃 파일을 따로 만들어 _app.js에 넣는 것이다 사용법 먼저 Layout.js라는 react component를 만들고 children prop을 넣어준다 children이란 react.js가 제공하는 prop으로 하나의 component를 또 다른 component 안에 넣을 때 쓸 수 있다 그리고 _app.js 를 을 으로 감싸준다. ./components/Layout.js import Layout from "../components/La..

ReactJS 2022.09.04

[Python] 람다 함수

람다함수는 익명의 함수 또는 표현식으로 불린다 변수명 = lambda 매개변수 : 함수의 형식으로 작성된다 plus_two = lambda x : x+2 print(plus_two(1)) # 3 출력 람다함수는 내장함수의 인자로 사용될 때 매우 편하다 일반함수는 다음과 같이 함수를 정의해야 map 함수에 사용될 수 있는 반면에 def plus_one(x): return x+1 a = [ 1, 2, 3 ] print(list(map(plus_one, a))) # a 리스트의 원소를 각각의 매개변수로 'plus_one' 함수를 실행하고 # 그 결과를 리스트로 출력한다 # [ 2, 3, 4 ] 출력 람다 함수는 정의 없이 바로 사용 가능하다 a = [ 1, 2, 3] print(list(map(lambda x..

Python 2022.09.04

[NextJS] CSS Module & Styles JSX & Custom App Component

(1) CSS Module CSS module 사용법 1. 파일명.module.css 파일을 만든다 NavBar.module.css .nav { display: flex; justify-content: center; background-color: tomato; } 2. 생성한 module을 css를 사용하고자 하는 파일 상단에 import 하고 다음과 같이 사용한다 NavBar.js import styles from "./NavBar.module.css" export default function NavBar() { const router = useRouter() return ( Home About ) } CSS Module의 장점 css.module 형식은 클래스 이름을 추가할 때 클래스 이름을 텍스..

ReactJS 2022.09.02

[Algorithm/BOJ] 01356 : 유진수.py

문제 유진수는 어떤 수를 10진수로 표현한 뒤 그 수를 두 부분으로 나눴을 때, 앞부분 자리수의 곱과 뒷부분 자리수의 곱이 같을 때를 말한다. 예를 들어, 1221은 유진수이다. 12와 21로 나눴을 때, 앞부분 자리수의 곱 1*2는 뒷부분 자리수의 곱 2*1과 같기 때문이다. 1236도 마찬가지로 유진수이다. 하지만, 1234는 아니다. 수를 나눌 때 항상 연속된 자리수를 나눠야하고, 각 부분에 적어도 한자리는 있어야 한다. 예를 들어, 12345는 총 4가지 방법으로 나눌 수 있다. 1-2345, 12-345, 123-45, 1234-5 어떤 수 N이 주어질 때, 이 수가 유진수인지 아닌지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다 작거나 ..

Algorithm/BOJ 2022.08.27

[Algorithm/BOJ] 01268 : 임시 반장 정하기.py

문제 오민식 선생님은 올해 형택초등학교 6학년 1반 담임을 맡게 되었다. 오민식 선생님은 우선 임시로 반장을 정하고 학생들이 서로 친숙해진 후에 정식으로 선거를 통해 반장을 선출하려고 한다. 그는 자기반 학생 중에서 1학년부터 5학년까지 지내오면서 한번이라도 같은 반이었던 사람이 가장 많은 학생을 임시 반장으로 정하려 한다. 그래서 오민식 선생님은 각 학생들이 1학년부터 5학년까지 몇 반에 속했었는지를 나타내는 표를 만들었다. 예를 들어 학생 수가 5명일 때의 표를 살펴보자. 위 경우에 4번 학생을 보면 3번 학생과 2학년 때 같은 반이었고, 3번 학생 및 5번 학생과 3학년 때 같은 반이었으며, 2번 학생과는 4학년 때 같은 반이었음을 알 수 있다. 그러므로 이 학급에서 4번 학생과 한번이라도 같은 반..

Algorithm/BOJ 2022.08.26

[Algorithm/BOJ] 01292: 쉽게 푸는 문제.py

문제 동호는 내년에 초등학교를 입학한다. 그래서 동호 어머니는 수학 선행 학습을 위해 쉽게 푸는 문제를 동호에게 주었다. 이 문제는 다음과 같다. 1을 한 번, 2를 두 번, 3을 세 번, 이런 식으로 1 2 2 3 3 3 4 4 4 4 5 .. 이러한 수열을 만들고 어느 일정한 구간을 주면 그 구간의 합을 구하는 것이다. 하지만 동호는 현재 더 어려운 문제를 푸느라 바쁘기에 우리가 동호를 도와주자. 입력 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. 출력 첫 줄에 구간에 속하는 숫자의 합을 출력한다. 내 풀이 n, m = map(int, input().split(" ")) k = 1 ..

Algorithm/BOJ 2022.08.26