본문 바로가기
반응형

999

[백준] 스택 수열 1874 (파이썬) 스케치 문제 풀이 n = int(input()) result = [] st = [] # 스택 count = 0 # 몇번 째 숫자까지 스택에 넣었는지 알기 위함 flag = True for _ in range(n): x = int(input()) # 스택에서 꺼내야하는 숫자 while count < x: # x 숫자까지는 스택에 쌓아야 pop으로 빼낼 수 있다. count += 1 result.append('+') st.append(count) if x == st[-1]: # 스택에서 꺼내야 하는 값 x가 실제 스택에 들어있는지 체크 result.append('-') st.pop() else: flag = False if flag: for i in result: print(i) # print( [i for.. 2021. 3. 10.
[백준] 균형잡힌 세상 4949 (파이썬) 균형잡힌 세상 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초128 MB260868643705433.203% 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. 모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다. 모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다. 모든 괄호들의 짝은 1:1 매칭만.. 2021. 3. 10.
[백준] 회전하는 큐 1021 (파이썬) 문제 풀이 # 예제2 해석 # 1번 연산: 앞에 있는 것 빼기 (data.popleft()) # 2번 연산: 왼쪽으로 밀기 (data.append(data.popleft())) # 3번 연산: 오른쪽으로 밀기 (data.appendleft(data.pop())) n,m = 10, 3 value = [2,9,5] # 뽑아 내려는 수가 2 9 5 일 때 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 2 수행 후 2, 3, 4, 5, 6, 7, 8, 9, 10, 1 # 1 수행 후 3, 4, 5, 6, 7, 8, 9, 10, 1 # 3, 3, 3 수행 후 9, 10, 1, 3, 4, 5, 6, 7, 8 # 1 시행 후 10, 1, 3, 4, 5, 6, 7, 8 # 2,2,2,2 or 3,3,3,.. 2021. 3. 10.
[백준] 좌표 정렬하기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.
[백준] 셀프넘버 4673 (파이썬) # 셀프 넘버 출처다국어분류 # 시간 제한메모리 제한제출정답맞은 사람정답 비율 # 1 초256 MB70474354532848050.391% # 문제 # 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. # 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. # 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열.. 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.
[알고리즘] 이진탐색 알고리즘과 파라메틱서치 이진탐색 정렬되어 있는 리스트에서 _탐색 범위를 절반씩 좁혀가며 데이터를 탐색_하는 방법 (로그시간의 시간복잡도) 이진탐색은 시작점, 끝점, 중간점을 이용하여 탐색 범위를 설정합니다 순차탐색 리스트 안에 있는 특정한 _데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인_하는 방법 단계마다 탐색 범위를 2로 나누는 것과 동일하므로 연산 횟수는 logN에 비례합니다 시간 복잡도는 _O(logN)_을 보장한다파이썬 이진 탐색 라이브러리 # 이진 탐색 소스코드 구현 (재귀 함수) def binary_search(array, target, start, end): if start > end: return None mid = (start + end) // 2 # 찾은 경우 중간점 인덱스 반환if array[mid] .. 2021. 3. 7.
[항해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.
반응형