본문 바로가기

전체 글239

백준17298🐨오큰수.py .c + 백준17299🐨오등큰수.py https://redcubes.tistory.com/124 🐨BOJ#6549 히스토그램에서 가장 큰 직사각형] 모노톤 스택(#1725히스토그램)히스토그램에서 가장 큰 직사각형 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 54258 14782 9717 26.945% 문제 히스토그램은 직사각형 여러 개가 아래쪽으로 정렬되어 있는 도형이redcubes.tistory.com 오큰수 (NGE: Next Greater Element)오큰수: 현재 숫자 오른쪽에 위치하면서 현재 숫자보다 큰 수 중 가장 왼쪽에 있는 수.예시: 숫자 배열이 [9, 5, 4, 8]일 때 각 숫자의 오큰수는 다음과 같다:9: 오른쪽에 더 큰 수가 없으므로 -15: 오른쪽에 있는 8이 오큰수4: 오른쪽에 있는.. 2024. 7. 28.
백준11320🐨삼각 무늬 - 1 .C https://www.acmicpc.net/problem/11320 #include #include int main() { int t; scanf("%d", &t); int *ab = (int *)malloc(t  코드 설명헤더 파일 포함#include #include 표준 입출력 함수와 동적 메모리 할당 함수를 사용하기 위해 stdio.h와 stdlib.h를 포함한다.메인 함수int main() {모든 C 프로그램의 시작점인 main 함수이다.변수 선언 및 입력 int t; scanf("%d", &t);테스트 케이스의 수를 저장할 변수 t를 선언하고 표준 입력을 통해 그 값을 읽어온다.동적 메모리 할당 int *ab = (int *)malloc(t 입력된 수를 저.. 2024. 7. 27.
백준2293🐨동전 1 https://www.acmicpc.net/problem/2293 아래 동영상의 도움으로 문제를 풀었습니다! https://www.youtube.com/watch?v=LBOQikSpfNg1, 2, 5 로 10 만들기 0123456789101111111111112112233445565112234567810$dp[i][j]$ $i$번째 동전 추가시 j원을 만드는 경우의 수$$ $dp[i][j] = dp[i-1][j] +  dp[i][j-coin]$$dp[0] =10원을 만드는 경우의 수는 1 (아무것도 안 쓴다.)for coin in lst:    for j in range(coin,k+1):        dp[j] += dp[j-coin]def calculate_budget(coin_type_count, .. 2024. 7. 21.
14729번 칠무해 이분탐색을 이용한 하위 리스트 관리하기이번 글에서는 Python의 bisect 모듈을 사용하여 하위 리스트를 관리하는 방법을 소개한다. 주어진 문제는 새로운 점수가 추가될 때마다 하위 7개의 점수만 유지하는 것이다. 이 과정에서 삽입 정렬을 사용하여 효율적으로 처리하는 방법을 살펴보겠다.1. 입력 받기먼저, 총 입력받을 점수의 개수를 입력받고, 초기 7개의 점수를 입력받는다.n = int(input())arr = sorted([float(input()) for _ in range(7)])여기서 n은 총 점수의 개수다. 다음으로 sorted 함수를 사용하여 첫 7개의 점수를 오름차순으로 정렬한 리스트 arr을 생성한다.2. 새로운 점수 추가하기이제 남은 n-7개의 점수를 입력받고, 하위 7개의 점수를 유지.. 2024. 7. 20.
백준4158🐨CD - 집념의 이터레이션 feat. map은 메모리를 먹는다. https://www.acmicpc.net/problem/4158 테스트 케이스가 여러개인데 하나라고 착각하고 이상하게 짰습니다.(문제 잘 안 읽는다고 아이들에게 주의 주는데... 반성합니다.)n,m,*nums = map(int,open(0).read().split())print(len(set(nums[:m])&set(nums[m:-2])))그래서 예전에 성공한 코드를 보았습니다.from sys import stdini = 0data = stdin.readlines()while True: m, n = map(int, data[i].split()) if m == 0 and n == 0: break else: i+=1 print(len(set(data[i.. 2024. 7. 18.
백준20361🐨일우는 야바위꾼.py _,x,k,*shupples = open(0).read().split()k=int(k)for i in range(0,k 2024. 7. 18.
전광판 2024. 7. 17.
영어 대본 생성기 성능 기록 도시 한복판에서 갑자기 소환된 고대 신과 만나는 사이보그, 요리사, 대학 교수.[Characters] 1. Cy-Bot: A smart and curious cyborg who loves to learn. 2. Chef Kim: An enthusiastic chef who enjoys sharing recipes. 3. Dr. Lee: A knowledgeable university professor who studies ancient civilizations. [Backgrounds] When: Sunny Wednesday afternoon. Where: In the middle of a busy city. Scene: Suddenly, an ancient god appears in the bustli.. 2024. 7. 17.
Pydub 라이브러리 개요 Pydub 라이브러리 개요Pydub는 Python에서 오디오 파일을 처리하기 위한 간단하고 직관적인 라이브러리다. 이 라이브러리를 사용하면 오디오 파일을 불러오고, 자르고, 합치고, 변환하는 등의 작업을 쉽게 할 수 있다.주요 기능오디오 파일 불러오기 및 내보내기다양한 포맷 지원 (MP3, WAV, OGG, FLV 등)파일 경로를 사용하거나 파일 객체로 불러오기오디오 조작자르기 (슬라이싱)붙이기 (컨캐티네이션)페이드 인/아웃볼륨 조절속도 변화변환 및 파일 포맷다양한 포맷으로 변환샘플 레이트, 채널 수 변경효과 적용페이드 인/아웃반전반복무음 추가설치Pydub를 설치하려면 pip를 사용한다:pip install pydub간단한 예제from pydub import AudioSegment# MP3 파일 불러오기.. 2024. 7. 15.
AtCoder🐨Beginner Contest 362 - C. Sum = 0 L_i와  R_i 범위에서 X_i를 선택해서 수열을 만들고 합을 0으로 만드는 문제다.처음엔 만들수 있나? 만 물어보는 줄 알았는데.. 그래서 쉽다고 생각했다만들 수 있으려면 L의 합들과 R의 합들 범위에 0이 있어야 한다.그런데 실제 조건을 만족하는 수열 X를 구해야 했다.L의 합으로 X를 정해두고 그리디하게 0이 될 때 까지 최대한 더해주면 된다고 생각했다.n, *lr = map(int, open(0).read().split())sum_l, sum_r = 0, 0res = []diff = []for i in range(0, n정말 잘 풀었는데 50여개 케이스 중 3개가 통과하지 않는 거다...느낌상 경과의 원소가 하나뿐인 경우가 아닌가 해서 계속 예외처리를 하다가 풀지 못했다.에디토리얼을 보고 나랑 .. 2024. 7. 14.
삼각수의 합. 닫힌 수식 (T(n) = 1 + 2 + ... + n)을 정의에 따르면, 이는 첫 (n)개의 자연수의 합으로, 다음과 같이 표현할 수 있다:$$T(n) = \frac{n(n+1)}{2}$$이를 사용하여 (W(n))을 계산하면$$W(n) = \sum_{k=1}^{n} k \cdot T(k+1)$$이제 (T(k+1))을 정의된 대로 대입해보겠습니다:$$T(k+1) = \frac{(k+1)(k+2)}{2}$$따라서:$$W(5) = \sum_{k=1}^{5} k \cdot \frac{(k+1)(k+2)}{2}$$이를 Python 코드로 계산하면def W(n): return sum(k * (k + 1) * (k + 2) // 2 for k in range(1, n + 1))# 사용 예시n = 5W(n) # 결과 출력.. 2024. 7. 14.
BOJ#9550🐨아이들은 사탕을 좋아해-코드 속도 비교 그때 그때 프린트로 출력하기 vs 리스트에 모아서 표준출력으로 바로 출력하기- 파이썬은 비슷하고 파이파이는 차이 있어 보임.t, *data = map(int,open(0).read().split())it = iter(data)res = []for _ in range(t): n, k = next(it),next(it) happy = 0 for _ in range(n): happy += next(it) // k res.append(happy)open(1,"w").write('\n'.join(map(str,res)))#pyth3 36ms#pypy3 96mst, *data = map(int,open(0).read().split())it = iter(data)res = []for.. 2024. 7. 13.
20336번 Haughty Cuisine https://www.acmicpc.net/problem/20336with open(0)as f: a=f.read().split()open(1,"w").write("\n".join(a[1:2+int(a[1])])) 2024. 7. 12.
30957번 빅데이터 vs 정보보호 vs 인공지능 _,s = open(0).read().split()cb = s.count('B')cs = s.count('S')ca = len(s)-cb-csm = max(cb,cs,ca)b,s,a = cb==m,cs==m,ca==mopen(1,"w").write(['', 'B', 'S', 'BS', 'A', 'BA', 'SA', 'SCU'][b+(s 2024. 7. 12.
4493번🐨가위 바위 보? import sysfor _ in range(int(sys.stdin.readline())): n = int(sys.stdin.readline()) c = tuple(sys.stdin.readline() for _ in range(n)) p1 = c.count("R S\n") + c.count("P R\n") + c.count("S P\n") p2 = c.count("S R\n") + c.count("R P\n") + c.count("P S\n") result = ["TIE", "Player 1", "Player 2"][(p1 > p2) + ((p1 from collections import Counterimport sysfor _ in range(int(sys.stdin.re.. 2024. 7. 12.
스트림 기반(Stream-based) 입출력 스트림 기반(Stream-based) 입출력은 데이터를 한 번에 처리하지 않고, 작은 단위로 나누어 순차적으로 처리하는 방식을 의미한다. 이는 데이터를 읽거나 쓸 때 메모리 효율성을 높이고 처리 속도를 향상시키는 데 유리하다.스트림 기반 입출력의 주요 개념과 장점을 이해하기 위해 몇 가지 핵심 포인트를 설명하겠다:스트림의 개념:스트림은 데이터의 흐름을 의미한다. 입력 스트림(input stream)은 데이터가 프로그램으로 들어오는 흐름을, 출력 스트림(output stream)은 데이터가 프로그램에서 나가는 흐름을 말한다.스트림은 연속적인 데이터의 흐름으로, 파일, 네트워크 소켓, 키보드 입력 등 다양한 소스와 목적지에서 사용된다.버퍼링:스트림 기반 입출력은 버퍼(buffer)를 사용하여 데이터를 임시 .. 2024. 7. 11.
for 문에서의 open(1,"w").write for 문에서 open(1, "w").write을 사용하는 것은 파일에 데이터를 반복적으로 쓸 때 유용하다. 예를 들어, 숫자 리스트를 파일에 하나씩 쓰고 싶다면 다음과 같이 할 수 있다.# 예제 데이터data = [1, 2, 3, 4, 5]# 파일에 데이터를 쓰기with open('output.txt', 'w') as f: for item in data: f.write(f"{item}\n")이 코드는 리스트 data의 각 항목을 output.txt 파일에 줄 바꿈과 함께 작성한다.여기서 중요한 점은 open 함수를 사용할 때 with 문을 사용하는 것이다. with 문은 파일을 안전하게 열고 닫을 수 있도록 해준다.만약 숫자 리스트를 표준 출력(콘솔)에 쓰고 싶다면, sys.stdou.. 2024. 7. 11.
🐨이상한 입력, 이터레이터, 비트연산, 리스트 인덱싱과 슬라이싱 1. 이상한 입력파이썬에서 파일 입출력을 위한 open 함수는 파일을 열고, 읽기, 쓰기, 추가 등의 작업을 할 수 있도록 해준다.기본 사용법open(filename, mode)filename: 열 파일의 이름과 경로mode: 파일을 여는 모드 (기본값은 ‘r’)파일 모드'r': 읽기 모드 (파일이 존재하지 않으면 오류 발생)'w': 쓰기 모드 (파일이 존재하면 내용 삭제 후 새로 작성)'a': 추가 모드 (파일 끝에 내용을 추가)'b': 바이너리 모드 (모드에 추가하여 사용, 예: 'rb', 'wb')'+': 읽기/쓰기 모드 (모드에 추가하여 사용, 예: 'r+', 'w+', 'a+')예제파일 읽기with open('example.txt', 'r') as file: content = file.re.. 2024. 7. 11.