본문 바로가기

파이썬30

혼자 놀기의 달인 [프로그래머스 lv2]문제.혼자서도 잘 노는 범희는 어느 날 방구석에 있는 숫자 카드 더미를 보더니 혼자 할 수 있는 재미있는 게임을 생각해냈습니다.숫자 카드 더미에는 카드가 총 100장 있으며, 각 카드에는 1부터 100까지 숫자가 하나씩 적혀있습니다. 2 이상 100 이하의 자연수를 하나 정해 그 수보다 작거나 같은 숫자 카드들을 준비하고, 준비한 카드의 수만큼 작은 상자를 준비하면 게임을 시작할 수 있으며 게임 방법은 다음과 같습니다.준비된 상자에 카드를 한 장씩 넣고, 상자를 무작위로 섞어 일렬로 나열합니다. 상자가 일렬로 나열되면 상자가 나열된 순서에 따라 1번부터 순차적으로 증가하는 번호를 붙입니다.그 다음 임의의 상자를 하나 선택하여 선택한 상자 안의 숫자 카드를 확인합니다. 다음으로 확인한.. 2024. 4. 27.
과일 장수 [프로그래머스 lv1] 문제. 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다. 과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 합니다.(사과는 상자 단위로만 판매하며, 남는 사과는 버립니다) 예를 들어, k = 3, m = 4, 사과 7개의 점수가 [1, 2, 3, 1, 2, 3, 1]이라면, 다음과 같이 [2, 3, 2, 3]으로 구성된 사과 상자 1개를 만.. 2024. 4. 4.
Streamlit/GPT API 이용해보기 1. Streamlit 파이썬으로 데이터 분석을 위한 웹앱을 쉽게 개발할 수 있게 도와주는 라이브러리입니다. 간단한 코드로 웹 애플리케이션을 만들고 빠르게 프로토타입을 구축하고 시각적으로 공유하기 위해 사용합니다. 설치 pip install streamlit 설치 확인 및 데모 확인 streamlit hello 입력했을 때, 처음엔 이메일을 입력하라고 안내가 뜹니다. 이메일을 입력했을 때 Streamlit창이 열리면 설치 완료입니다. 실행 streamlit run app.py https://streamlit.io/ Streamlit • A faster way to build and share data apps Streamlit is an open-source app framework for Machine.. 2023. 11. 22.
백준 17298 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net N = int(input()) A = list(map(int, input().split())) answer = [-1] * N # 결과 배열을 -1로 초기화 stack = [] for i in range(N): while stack and A[stack[-1]] stac.. 2023. 11. 3.
스택과 큐 /백준 1874 1. 스택 스택(Stack)은 데이터를 저장하고 검색하는 데 사용되는 추상 데이터 구조 중 하나로, 데이터의 삽입과 삭제가 한쪽 끝에서만 이루어지는 선형 자료 구조입니다. 스택은 후입선출(Last-In-First-Out, LIFO) 원칙을 따릅니다. 이것은 스택에 삽입한 가장 최근의 요소가 먼저 제거됨을 의미합니다. 스택은 다양한 컴퓨터 과학 및 소프트웨어 개발 분야에서 유용하게 활용됩니다. 예를 들어, 함수 호출 스택(call stack)은 함수 호출 및 반환 순서를 관리하는 데 사용됩니다. 재귀 함수 호출 시에도 스택을 사용하여 각 함수 호출을 추적하고 반환 순서를 관리합니다. 스택은 간단하면서 효율적인 자료 구조로, 데이터를 일시적으로 저장하고 추적하는 데 유용합니다. 많은 프로그래밍 언어 및 자료.. 2023. 11. 2.
백준 12891, 11003 https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net n, m =map(int,(input().split())) S= input() # 각 문자와 최소 갯수를 딕셔너리로 셋팅 D = {'A':0, 'C':0, 'G':0, 'T':0} D['A'], D['C'], D['G'], D['T'] = list(map(int,(input().split()))) # 포인터는 m의 간격을 유지하면서 옮긴다. i = 0 j = i + m co.. 2023. 10. 26.