본문 바로가기

분류 전체보기140

[백준 2156 파이썬] 포도주 시식 백준 2156번 python 포도주 시식문제 DP 3잔을 연속해서 마시지 않고 최대한 많은 와인을 마셔야하는 문제 3개의 case로 나누었다. 와인이 4잔 있을 경우 case1: 현재의 와인(와인4)을 마시고 이전의 와인(와인2)를 마시지 않고 그 전의 마실 수 있는 와인의 최대치를 마심 case2: 현재의 와인(와인4)과 이전의 와인(와인3)를 마시고 와인2를 못마시는경우 case3: 와인2과 와인3를 마셔 현재의 와인4를 마시지 못하는경우 case1: wine4 + (wine1+wine2) case2: wine4 + wine3 + (wine1) case3: wine2 + wine3 이런식이 될것임 n = int(input()) wine = [0] dp = [0] [wine.append(int(inpu.. 2021. 3. 12.
[백준 11399 파이썬] ATM 문제를보고 운영체제의 SJF 스케쥴링이 떠올랐다. Shortest Job First(SJF) 즉 가장 인출시간이 짧은 사람을 우선으로 정렬하고 인출시간을 구하면 된다. import sys n = map(int, sys.stdin.readline()) arr = list(map(int,sys.stdin.readline().split())) arr.sort() waiting_time=0 sum = 0 for i in arr: waiting_time += i sum += waiting_time print(sum) 개인당 대기시간(waiting_time)을 각각 구해주고 그 합(sum)을 출력해준다. 2021. 3. 11.
[백준 1931 파이썬] 회의실 배정 회의실 예약을 위해 시작시간과 종료시간을 n번 입력받기위해 2차원의 리스트를 생성해준다. n = int(sys.stdin.readline()) room = [[0]*2 for _ in range(n)] 그리고 시작시간의 오름차순으로 정렬해주고 다시 끝나는 시간의 오름차순으로 정렬을 해준다. 그럼 시작시간과 끝나는시간이 같은경우에도 앞서 시작시간을 오름차순으로 정렬했기 때문에 카운팅될 수 있다. room = sorted(room, key=lambda a: a[0]) room = sorted(room, key=lambda a: a[1]) 키에 익명함수사용을 위한 람다를 사용했는데 리스트형태의 인자를 받아 분리하여 반환하고 이를 키값으로 사용하여 정렬한다. key 매개 변수의 값은 단일 인자를 취하고 정렬 목.. 2021. 3. 10.
[백준 11047] 파이썬 동전 0 그리디 알고리즘을 사용해서 문제를 풀이했다. 그리디 알고리즘문제이기 때문에 .. 오름차순으로 동전의 가치가 주어지므로 동전 개수의 최솟값을 구하기 위해서는 최대한 비싼 동전을 써야한다. 따라서 리스트에 동전을 하나씩 추가해주고 뒤에서부터 조회하며 준규의 동전에서 빼줬다. n,k = map(int, input().split()) coin = [] count = 0 for _ in range(n): coin.append(int(input())) for i in range(len(coin)-1,-1,-1): count += k // coin[i] k = k - k // coin[i] * coin[i] print(count) 2021. 3. 7.
[DIY]솔레노이드 밸브로 자동환수 구축하기 우선 자동환수는 솔레노이드밸브로 배수, 보충수통을 사용한 자동 급수의 형태로 구축했다. 화장실로 직접 연결할 수 없는 구조 였기 때문에. 사이펀 효과에의해서 물이 빠져나가고 솔레노이드 밸브는 전류가 흐를 때 열리고 평상시에는 닫혀있는 형태이다. 나는 집에있는 12v 어댑터를 사용하기 위해서 dc12v를 사용했다. 자동환수는 두 가지로 나눌 수 있는데 입출수를 베란다를 통해서 밖으로 뺄 수 있는 환경인지 아닌지를 구분해서 집 환경에 맞게 선택하면 된다. 본인은 입 출수라인을 뺄 수 없기 때문에 이렇게 구성했다. 배수 [외부여과기 인아웃 파이프는 12/16mm에 맞는 파이프로 시중에서 4천원대에 구매할 수 있다.] 이렇게 구성한 이유는 1/4"(1/4인치)를 배수용으로 쓰기에는 막힘현상이 잦을 것 같다는 판.. 2020. 12. 21.
[백준 파이썬 1002] 백준 python 터렛 1002번 x1,y1,r1,x2,y2,r3 으로 상대편 마린의 위치를 계산하는 문제임. 그림으로 그려보니 두 원의 접점을 구하는 문제임이 보였다. mathbang.net/101 두 원의 위치관계, 내접, 외접 위치관계 또 나오네요. 이번에는 두 원의 위치관계에요. 위치관계 마지막이니까 정신 바짝 차리고 따라오세요. 원과 직선의 위치관계, 원의 할선과 접선, 접점에서 했던 것처럼 두 원이 어떤 관 mathbang.net 두 원이 2점에서 만나는 경우, 1점에서 만나는경우와 만나지 않는 경우 그리고 겹쳐서 무한대일 경우가 있을 것이다. 출력 부분을 보면 무한대일 경우 -1 을 출력하라고 했다. import sys T = int(sys.stdin.readline()) for i in range(T): x1, y1, r1.. 2020. 11. 15.
Access-Control-Allow-Origin Error Access to XMLHttpRequest at '~~~~/api/accounts' from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/how-to-cors.html REST API 리소스에 대한 CORS 활성화 - Amazon API Gateway REST API 리소스에 대한 CORS 활성화 CORS(Cross-origin 리소스 공유)는 브라우저에서 실행 중인 스크립트에서 시작되는 cr.. 2020. 11. 13.
[javascript] left slide menubar-자바스크립트로 슬라이드 메뉴바 만들기 시작에 앞서 해당 코드들에 사용되는 아이콘은 flaticon에서 결제후 다운로드 받은 아이콘임을 알립니다. 필요한 아이콘은 직접 구해서 사용하셔야 합니다. 우선 슬라이드 메뉴바를 만들기전에 navigation bar를 만듭니다. 반응형 모바일 웹페이지 구성을 위해 viewport를 설정해주고 박지원 Home 마이페이지 로그인 해당 포스트는 apost.kr/702 해당 블로그를 토대로 학습하며 작성했습니다. 슬라이딩 모바일 메뉴 구현 반응형 웹에서 모바일 UI를 구현할 때는 화면 크기의 제약으로 인해 화면 위나 옆에서 메뉴가 펼쳐지면서 보이도록 구현합니다. 좁은 모바일 화면을 최대한 활용하는 방법이기 때문에 주로 이 apost.kr 2020. 11. 10.
패스트캠퍼스 프론트엔드 개발 올인원 패키지 with React Online 챌린지 참여 후기 프론트엔드 개발 올인원 패키지 with React Online. 를 수강하며.. 1. 매일매일 성실해야 한다. 8월 100% 환급챌린지에 신청하여 50일간의 데일리 미션을 수행하고 결국 최종 미션까지 오게 되었다. 한가지 짚고 넘어가고 싶은 부분이 있다면. 50일간 하루도 빠짐없이 강의를 2개 이상 수강하고, 그에 관한 내용을 정리하여 1,000자 이상 작성해야 한다. 생각해보면 그리 어렵지 않은 일 같지만 매일 매일 무엇인가 해야 한 다는 일은 쉽지도 않은 일일 것이다. 그 말은 즉 슨 짬을 내어 잠시 휴양하러 가는길에도 나의 할일을 해야함을 의미한다. 몸이 아픈날에도, 어떤 힘든 일이 있는 날에도,, 하지만 걱정할 것 없다. 인간은 적응의 동물이다. ENFP 의 성격도 ENFJ 로 바꿔주는 챌린지다... 2020. 11. 9.
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 50회차 미션 가변 인수(Variable Arguments) 때때로 입력할 인수의 개수가 불확실한 경우가 있다. 그럴 경우 가변 인수를 사용할 수 있다. 가변 인수는 매개변수 뒤에 ...을 붙여준다. @mixin var ($w,$h,$bg) { width:$w; height:$h; backgroud : $bg; } .box{ @include var(1,2,3); } sassmeister 에서 mixin을 하나 정의해서 3개의 매개변수를 받고, box에서 각각 1,2,3 의 인자를 넘겨주는 코드를 한번 작성해보자. Compiled to: .box { width: 1; height: 2; backgroud: 3; } 컴파일된 코드에는 각각 전달된 1,2,3 이 설정 된다. 하지만 만약에 box에서 인자를 4,5,6,7 을.. 2020. 10. 26.
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 49회차 미션 인수의 기본값 설정 인수(argument) 는 기본값 (default value)을 가질 수 있다. @include 퐇마 단계에서 별도의 인수가 전달되지 않으면 기본 값이 사용된다. 만약 인수에 특정한 값을 전달하지 않게되면 매개변수는 결과적으로 값이 없는 것이 되기 때문에 아무것도 적용할 수 없으면서 에러가날 것이다. 기본값을 설정하게되면 매개변수가 받은 값이 없더라도 기본 값이 있기 때문에 에러가 나지 않는다. 따라서 기본값을 설정하는것이 좋은 방법이 될 수 있다. @mixin 믹스인이름($매개변수: 기본값){ 스타일; } SCSS: @mixin dash-line($width: 1px, $color: black){ border: $width dashed $color; } .box1{ @include .. 2020. 10. 25.
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 48회차 미션 @mixin 기본적인 Mixin 선언은 아주 간단하다 @mixin 지시어를 이용하여 스타일을 정의한다. mixin규칙을 이용해서 재사용가능한 내용들을 선언할 수 있다. @mixin 믹스인이름{ 스타일; } 지금까지는 믹스인이름(){} 이런식으로 사용을 했지만 밖에서 들어오는 파라미터가 딱히 없는 경우 () 괄호를 생략할 수 있다. @mixin large-text{ font-size: 22px; font-weight: bold; font-family: sans-serif; color: orange; } 이 SCSS로 작성된 코드를 Sass 문법으로 변환 해 보면 //Sass = large-text font-size: 22px font-weight: bold font-family: sans-serif; co.. 2020. 10. 24.
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 47회차 미션 논리(Boolean) 연산자 Sass 의 @if 조건문에서 사용되는 논리(Boolean) 연산에는 '그리고' ,'또는','부정' 이 있다. 자바스크립트 문법에 익숙하다면 &&, ||, !와 같은 기능으로 생각할 수 있다. and : 그리고 or : 또는 not : 부정(반대) $w 라는 변수를 하나 생성해주고 100px 을 할당한다. 그리고 item이라는 클래스를 하나 생성해주고 display는 block으로 설정해준다. 그리고 여기에서 @로 시작하는 if 를 하나 추가한다. 이것은 만약에 ( ) 하면 width 를 얼마로 지정해 줘라 와 같은 조건문을 거는 것이다. 이 ( ) 에 해당하는 조건에 and, or, not 이라는 논리연산자를 사용할 수 있다. 만약에 $w가 50px 보다 크다면 width .. 2020. 10. 23.
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 46회차 미션 연산 - 문자 문자 연산에는 + 가 사용된다. 문자 연산의 결과는 첫 번째 피연산자를 기준으로 한다. 첫 번째 피연산자에 따옴표가 붙어있으면 연산 결과도 따옴표로 묶는다. 반대로 첫 번째 피연산자에 따옴표가 붙어있지 않다면 연산 결과도 따옴표 처리를 하지 않는다. SCSS: div::afeter{ content: "Hello " + World; flex-flow: row + "-reverse" + " " + wrap } Compiled to: div::afeter { content: "Hello World"; flex-flow: row-reverse wrap; } 따옴표가 있는 "Hello " 도 문자고 따옴표가 없는 World 도 문자이다. 해당 내용은 데이터 타입을 살펴볼 때 학습했던 내용이다. co.. 2020. 10. 22.
[패스트캠퍼스 수강 후기] 프론트엔드 인강 100% 환급 챌린지 45회차 미션 연산 Sass는 기본적인 연산 기능을 지원한다. 레이아웃 작업시 상황에 맞게 크기를 계산하거나 정해진 값을 나눠서 작성할 경우 유용하다. 산술연산자 더하기 빼기 곱하기 : 반드시 하나이상의 값이 숫자여야함 예를들어 10px * 10px 의 결과는 에러가 나오게된다. 단위가 붙어있는 숫자끼리 곱하는 것은 불가능하다. 따라서 단위가 붙어있는 숫자값에는 하나이상의 숫자 값을 *(애스터리스크)를 사용해서 곱할 수 있다. / 나누기 : 오른쪽 값이 반드시 숫자 마찬가지로 10px/2px 은 에러가 발생하고 만약 10px/2px의결과인 5px을 얻어 내고 싶다면 10px/2 를 통해 얻어야 한다. % 나머지 비교 연산자 == : 동등 != : 부등 d .. 2020. 10. 21.