본문 바로가기
반응형

항해14

[백준] 수 찻기 1920 (파이썬) 문제접근 어떤 수열에서 특정 값이 있는지 없는지를 찾는데 수가 크다면 이진탐색을 고려해 봐야했다 2021.03.17 - [Algorithm & Data structure] - [알고리즘] 이진탐색 (이분탐색) # 수 찾기 import sys input = sys.stdin.readline def binary_search(start, end, target, arr): while start 2021. 3. 19.
[백준] 균형잡힌 세상 4949 (파이썬) 균형잡힌 세상 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초128 MB260868643705433.203% 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. 모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다. 모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다. 모든 괄호들의 짝은 1:1 매칭만.. 2021. 3. 10.
[자료구조] 스택, 큐 (파이썬) 탐색 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 자료구조 데이터를 표현하고 관리하고 처리하기 위한 구조 스택 후입 선출 구조 (LIFO) 재귀 함수의 수행 또한 스택 자료구조를 사용한다. 기본 자료 구조 사용 stack [5,3,2,1] stack.appned(3) stack.pop() print(stack) print(stack[::-1]) # 최하단 원소부터 출력 큐 선입 선출 구조 (FIFO) Collections 에서 제공하는 deque 라이브러리 사용 from collections import deque queue = deque() queue.append(5) queue.popleft() queue.reserve() # 순서를 역순으로 바꾸기 (정렬을 의미하지는 않음) x = list(.. 2021. 3. 10.
[백준] 나무자르기 2805 (파이썬) 이진탐색 문제 입력 받아야 할 값과 데이터가 크기 때문에 이진탐색을 고려하였다. 입력 값을 빠르게 받기위해 sys.stdin.readline().rstrip() 함수를 사용한다. 시간 초과가 날 경우 pypy를 이용한다. 예 아니오로 나눌 수 있는 파라메틱 서치 문제는 재귀적으로 하는 것보다 반복문으로 푸는 것이 더 깔끔하다. # 예 아니오로 나눌 수 있는 파라메틱 서치 문제는 재귀적으로 하는 것보다 반복문으로 푸는 것이 더 깔끔하다. import sys n , m = list(map(int,sys.stdin.readline().rstrip().split())) # 나무 개수 n, 필요한 나무 길이 m array = list(map(int,sys.stdin.readline().rstrip().split(.. 2021. 3. 9.
[백준] 좌표 정렬하기2 11651 (파이썬) 람다 표현식과 key를 알고 있다면 풀수 있는 문제였다. 정렬에서 key의 의미 # key 매개변수 입력 key값으로는 함수가 들어가야 하며 이는 정렬 기준이 된다. # key 값은 람다(lambda 함수를 사용할 수 도 있다) array= [('바나나',2), ('사과',5), ('당근',3)] def setting(data): return data[1] result = sorted(array, key=setting) print(result) 람다 표현식(Lambda Express) 특정한 기능을 수행하는 함수를 한 줄에 작성할 수 있다 람다식은 파이썬의 정렬 라이브러리를 사용할 때, 정렬 기준(Key)을 설정할 때에도 자주 사용한다. def add(a, b): return a + b print(add.. 2021. 3. 9.
[알고리즘] 재귀 함수 재귀 함수(Recursive Function) DFS와 BFS를 구현하려면 재귀 함수도 이해하고 있어야한다. 자기 자신을 다시 호출하는 함수 팩토리얼 예제 # 반복적으로 구현한 n! def factorial_interative(n): result = 1 # 1부터 n까지의 수를 차례대로 곱하기 for i in range(1,n+1) result *= i return result # 재귀적으로 구한 n! def factorial_recursive(n): if n [백준] 하노이의 탑 이동 순서 1759 (파이썬) def hanoi(n, a, b): n > 1: hanoi(n-1, a, 6-a-b) # 기둥이 1개 이상이면 그룹으로 묶인 n-1개 원판을 중간으로 먼저 다 옮기겠다 1, 2, 3이기 때문에 중.. 2021. 3. 8.
[백준] 소수 구하기 1929 (파이썬) # 소수 구하기 분류 # 시간 제한메모리 제한제출정답맞은 사람정답 비율 # 2 초256 MB92626260761851427.337% # 문제 # M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. # 입력 # 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. # 출력 # 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. # 예제 입력 1 # 3 16 # 예제 출력 1 # 3 # 5 # 7 # 11 # 13 import math m,n = map(int, input().split()) array = [True for i in range(n+1)] #[True] * n+1 array[0.. 2021. 3. 8.
[백준] ACM 호텔 10250 (파이썬) # 문제 # ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. # 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거리는 무시한.. 2021. 3. 8.
[백준] 달팽이는 올라가고 싶다 2869 (파이썬) # 문제 # 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. # 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. # 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. # 입력 # 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) # 출력 # 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. # 예제 입력 1 # 2 1 5 # 예제 출력 1 # 4 # 예제 입력 2 # 5 1 6 # 예제 출력 2 # 2 # 예제 입력 3 # 100 99 100000000.. 2021. 3. 8.
[백준] 단어공부 1157 (파이썬) # 단어 공부 분류 # 시간 제한메모리 제한제출정답맞은 사람정답 비율 # 2 초128 MB88983343162773338.828% # 문제 # 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. # 입력 # 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. # 출력 # 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. # 예제 입력 1 # Mississipi # 예제 출력 1 # ? # 예제 입력 2 # zZa # 예제 출력 2 # Z # 예.. 2021. 3. 8.
[백준] 알람시계 2884 (파이썬) # 문제 # 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. # 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. # 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. # 바로 "45분 일찍 알람 설정하기"이다. # 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. # 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을.. 2021. 3. 8.
[백준] 평균은 넘겠지 4344 (파이썬) # 문제 # 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. # 입력 # 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. # 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. # 출력 # 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. # 예제 입력 1 # 5 # 5 50 50 70 80 100 # 7 100 95 90 80 70 60 50 # 3 70 90 80 # 3 70 90 81 # 9 100 99 98 97 96 95 94 93 91 .. 2021. 3. 8.
[항해99][WID] 1주차 회고 (3.1 ~ 3.7) 항해 99 부트캠프 3월 1일 ~ 6월 7일 (99일) 9시 ~ 23시 공부 Today I learned 유투브 동영상 업로드 https://www.youtube.com/playlist?list=PLZeXlrZjgVUVXQUzXCp1GC9_eZdMr40MD Daily Study www.youtube.com 0일 99일동안 하루를 어떻게 보낼지에 대한 계획을 작성 1일 프로젝트 (do trip) (월~ 목) 조장을 맡아서 ui설계, 테이블구성, api설계 역할 분담 나 로그인, 회원가입, 공통적으로 쓰는 파일 (네이게이션바, 인클루드파일) + 메인 페이지 조원1 리뷰 등록페이지, 리뷰 수정페이지 조원2 리뷰 상세조회페이지 To do 깃허브 레파지토리를 만들고 조원들을 초대 프로젝트 환경 셋팅 쿠키/세션에 .. 2021. 3. 7.
[Project] Dotrip 여행 리뷰 프로젝트 프로젝트 특징 쿠키/세션 방식으로 로그인을 구현 및 JWT 인증 방식으로 전환 Jinja2 템플릿 엔진을 이용한 서버사이드 렌더링 restful api 방식 설계 개요 명칭 : Dotrip 개발 인원 : 3명 (고성빈, 김연재, 노유진) 개발 기간 : 2021.03.01 ~ 2021. 03. 04 (4일) 주요 기능 : 회원가입, 로그인, 리뷰 CRUD 개발 언어 : html, css, javascript, python 개발 환경 : flask web framework 데이터베이스 : mongodb 형상관리 툴 : git 간단 소개 : 여행 리뷰를 올리는 커뮤니티 github url github.com/seongbinko/dotrip seongbinko/dotrip Contribute to seongbi.. 2021. 3. 1.
반응형