분류 전체보기 408

[백준 11047번] 동전 0

n, k = map(int,input().split()) value = [] count = 0 for i in range(n): value.append(int(input())) value.sort(reverse=True) while k!=0: for i in value: if k//i > 0: count += k//i k %= i print(count) 이번 문제는 대표적인 Greedy 알고리즘 문제로, 주어진 동전 단위들을 가지고 최소한의 동전을 사용하여 금액(k)를 만드는 것이 핵심이다. 여기서 가장 중요한 조건은 바로 A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수이다. 왜 저 조건이 중요한지 생각해보면, 이 문제를 간단하게 탐욕적으로 접근해서 풀 수 있는 이유는 가지고 있는 동전 중에서 ..

Algorithm/Greedy 2023.02.07

[React] Props의 개념과 사용법

프로퍼티(Props)란 ? 프로퍼티는 props(properties의 줄임말)로, 상위 컴포넌트가 하위 컴포넌트에 값을 전달할때 사용합니다.(단방향 데이터 흐름) 프로퍼티에 문자열을 전달할 때는 큰따옴표(" ")를, 문자열 외의 값을 전달할 때는 중괄호{ }를 사용합니다. 그리고 true와 false와 같은 Boolean 자료형의 경우, 중괄호로 감싸서 전달할 필요 없이 프로퍼티의 이름만 선언하면 됩니다. 이전에 Component 게시물에서도 언급했듯, props는 읽기 전용이기 때문에 하위 컴포넌트에서는 상위 컴포넌트의 프로퍼티를 수정할 수 없습니다. ⭐️⭐️⭐️ import React, { Component } from 'react'; import Header from './component/Head..

React 2023.02.07

[React] Components의 종류(선언형/클래스형) 및 사용법

Component 란 ? 리액트로 만들어진 앱을 이루는 최소한의 단위로, 데이터(props)를 입력받아 View(state) 상태에 따라 DOM Node를 출력하는 함수 또는 클래스 👉🏻 'props'라고 하는 인자를 받은 후, 화면에 어떻게 표시되는지를 기술하는 React Element를 반환 기존의 웹 프레임워크는 MVC방식으로 분리하여 관리하여 각 요소의 의존성이 높아 재활용이 어렵다는 단점이 있었습니다. 반면 컴포넌트는 MVC의 뷰를 독립적으로 구성하여 재사용을 할 수 있고 이를 통해 새로운 컴포넌트를 쉽게 만들 수 있습니다. React에서는 소문자로 시작하는 컴포넌트를 DOM 태그로 인식하기 때문에 컴포넌트 이름은 항상 대문자로 시작해야 합니다 ⭐️⭐️ Components let you spli..

React 2023.02.07

[React] Element의 개념 및 렌더링

Element란 ? 리액트에서의 가장 작은 단위로, 화면에 표시할 내용을 기술합니다. 위와 같이 HTML 파일 어딘가에 가 있다고 가정해 봅시다. 이 안에 들어가는 모든 엘리먼트를 React DOM에서 관리하기 때문에 이것을 “루트(root)” DOM 노드라고 부릅니다. (React로 구현된 애플리케이션은 일반적으로 하나의 루트 DOM 노드가 있습니다.) const root = ReactDOM.createRoot( document.getElementById('root') ); const element = Hello, world; root.render(element); React 엘리먼트를 렌더링 하기 위해서는 우선 DOM 엘리먼트를 ReactDOM.createRoot()에 전달한 다음, React 엘리먼..

React 2023.02.07

[React] JSX의 개념 및 문법

const element = Hello, world!; JSX란 ? JSX(JavaScript XML)란 Javascript에 XML을 추가한 확장한 문법으로, React Element를 생성합니다. JSX로 작성한 코드는 브라우저에서 실행되기 전에 코드가 번들링(여러 개로 흩어져 있는 파일들을 압축, 난독화 등을 하여 하나의 파일로 모아주는 것)되는 과정에서 Babel을 사용하여 일반 자바스크립트 형태의 코드로 변환 됩니다. function App(){ return ( Hello react ); } 예를 들어 위의 코드는 아래와 같이 변환됩니다. function App(){ return React.createElement("div", null, "Hello", React.createElement("b"..

React 2023.02.06

[백준 11399번] ATM

# ATM n = int(input()) time_list = list(map(int,input().split())) time_list.sort() total = 0 solution = 0 for i in time_list: total = total + i solution += total print(solution) 이번 문제는 각 사람들이 돈을 인출하는데 걸리는 시간의 합에 대한 최솟값을 구하는 문제였는데, 난이도는 상당히 쉬운 편에 속하여 3분도 되지 않아 풀 수 있었다. (그래서 정답률이 높은 ,,) 이 문제의 핵심은 인출하는데 걸리는 시간이 적게 걸리는 순서대로 돈을 인출하는 것이다. (Greedy 알고리즘) 왜냐하면 앞의 사람이 인출하는데 시간이 오래 걸릴수록 뒤에 있는 사람들은 그 시간만큼 기..

Algorithm/Greedy 2023.02.06

[백준 2839번] 설탕 배달

n = int(input()) soluton = 0 # 먼저 3의 배수인 경우랑 5의 배수인 경우 처리 # 3의 배수는 3의 개수를 5로 나눠서 몫 *3 + 나머지 if n%3 == 0: soluton = n // 3 soluton = ((soluton//5)*3) + (soluton%5) # 5의 배수는 그대로 elif n%5 == 0: soluton = n//5 # 5를 먼저 빼고 3으로 나눠지는지 확인 # 3으로 나눠지면 3으로 나눠서 그 몫을 더해주고 끝 # 3으로 나눠지지 않으면 5 한번더 빼기 else: while n != 0: # n이 1~2 이 되면 답이 X if n 0: soluton = -1 break # 5보다 크거나 같은 경우엔 5빼기 if n >= 5 : so..

Algorithm/Greedy 2023.02.06

[React] React의 주요 개념 및 사용 이유

이 포스팅은 Javascript 라이브러리 중 하나인 React를 공부하기에 앞서 왜 리액트를 사용하는지, 어떠한 장점들을 가지고 있는지 정리해보려고 합니다. 대부분의 포스팅은 React 공식문서 및 자습서를 참고할 예정이고, 차차 공부해가면서 업데이트 해 나가겠습니다 :) React 란 ? React는 자바스크립트 라이브러리로 SPA(Single Page Application)을 위한 사용자 인터페이스를 구축하는데 사용되며 웹, 모바일 앱 등의 view layer를 처리하는 데 사용된다. SPA란 ? 웹 애플리케이션에 필요한 모든 정적 리소스를 최초에 한번 다운로드 하고, 이후 새로운 페이지 요청 시 페이지 갱신에 필요한 데이터만을 전달받아 페이지를 갱신하는 방식으로 구성된 단일 웹 페이지 애플리케이션..

React 2023.02.06

[이코테] 무지의 먹방 라이브

이번 문제는 단순하게 주어진 k 시간만큼 모든 음식들을 접근하여 다음 인덱스를 찾게 되면 정확성 및 효율성으로 인해 틀리게 되는 문제이다. 따라서 소요 시간이 적게 걸리는 음식부터 하나씩 먹어 치운 후에, 주어진 k 시간에서 남은 시간동안 가장 적게 시간이 걸리는 음식을 먹지 못할 때 그 나머지 값을 인덱스로 리턴하면 풀리게 되는 문제이다. 이 문제의 핵심은 모든 음식을 소요 시간을 기준으로 정렬한 뒤에, 시간이 적게 걸리는 음식부터 제거해 나가는 것이다. 이 문제를 접근하기 위해 내게 부족했던 파이썬 문법들은 다음과 같다. '음식을 먹는게 소요되는 시간'과 '인덱스'를 동시에 저장하기 위해서 Tuple 자료형을 사용할 수 있다는 점 sorted나 .sort로 정렬할 때 두번째 인자로 key 값을 부여하..

Algorithm/Greedy 2023.02.05

fetch() API 의 사용법

fetch('http://example.com/movies.json') .then((response) => response.json()) .then((data) => console.log(data)); fetch 함수는 XMLHttpRequest 객체보다 최근에 나온, HTTP 요청 전송 기능을 제공하는 Web API다. fetch 함수는 HTTP response 객체를 래핑한 Promise 객체를 반환한다. 따라서 프로미스의 후속 처리 메서드인 then()을 사용하여 resolve한 객체를 전달받을 수 있다. (물론 catch, finally도 마찬가지) fetch 함수로 받은 Response 객체에는 HTTP 응답을 나타내는 프로퍼티들이 있다. 그 중 json() 내장 함수가 있는데, response..