본문 바로가기

Tech67

백준3015🐨오아시스 재결합.py 백준 3015번 “오아시스 재결합” 문제는 스택을 이용하여 각 사람이 볼 수 있는 다른 사람의 쌍을 구하는 문제이다. 아래에 주어진 코드를 바탕으로 문제 풀이를 설명한다:n, *nums = map(int,open(0).read().split())stack = []result = 0for i in range(n): count = 1 while stack and stack[-1][0] 코드 설명초기화 및 입력 처리:n과 nums에 입력 데이터를 받아오고, stack과 result를 초기화한다.스택을 이용한 탐색:각 사람의 키를 nums에서 하나씩 순서대로 처리한다. 현재 사람의 키 nums[i]를 기준으로, 스택에 쌓인 이전 사람들 중 nums[i]보다 작거나 같은 키를 가진 사람들을 제거한다. .. 2024. 7. 30.
백준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.
백준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.
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.
suno]옷장 노래 생성 2024. 4. 18.
C언어 고급] 13🚀변수의 영역과 데이터 공유 목차 변수의 사용 영역 지역변수 = 자동 변수 - 함수 내 사용. auto (=생략 가능). local variable은 storage class (변수를 사용 범위와 존재 기간에 따라 나눈 것) 중 하나. 지역변수의 특징 다른 함수에서 사용 못함 이름이 같아도 선언된 함수가 다르면 각각 독립된 저장 공간을 가짐 장점 메모리 효율성 디버깅에 유리 블록 안에서 사용하는 지역 변수 특정 블록 안에 변수를 선언하면 범위가 블록 내부로 제한. 블록이 중첩된 경우 사용 가능한 변수가 둘 이상이면 가장 가까운 블록에 선언된 변수를 사용. (안팎에 다 있으면 안의 것을 사용.) #include void assign10(void); void assign20(void); int a; // 전역 변수 선언 int main.. 2024. 4. 4.
C언어 고급] 12🚀문자열 목차 문자열과 포인터 - 컴파일 과정에서 문자열은 첫 번째 문자의 주소로 바뀜. = 배열을 출력하는 것과 같은 과정을 거침. 문자열 상수 구현 방법 - 문자열의 크기는 일정하지 않아서 char 배열로 보관, 문자열 상수가 있던 곳에는 배열의 위치 값 사용. - 주소로 접근해서 문자열을 바꾸면 안 됨. 컴파일은 되어도 운영체제가 상수를 읽기 전용 메모리 공간에 저장하므로 운영체제에 따라 강제종료할 수 있음. char 포인터로 문자열 사용 - 문자열은 결국 주소 = char포인터에 대입 사용 가능. 첫 주소만 저장, 포인터 연산으로 전체 문자열 사용 가능. 같은 문자열을 여러 번 사용하면 컴파일러가 하나의 문자열만 저장하고 주소를 공유하도록 번역함. = 최적화 = 컴파일러 종류에 따라 다름. 같은 문자열을 .. 2024. 3. 31.
🐨BOJ쿼드트리 목차 쿼드트리 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 50634 31488 24067 62.248% 문제 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다. 주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의.. 2024. 3. 30.
C언어 고급]🚀문자 목차 A. ASCII 와 문자 입출력 함수 1. ASCII 2. scanf 3. getchar, putchar B. Buffer 사용 입력 함수 1. scanf 문자입력 과정 2. scanf 함수 리턴값 활용 3. getchar 사용 문자열 입력 4. 입력 버퍼 지우기 C. 정리 하기 1. 요약 2. 활용 3. 궁금한 점 A. ASCII 와 문자 입출력 함수 1. ASCII 분류문자 상수 아스키 코드 값출력할 때 종류 문자상수 코드값 출력할 때 숫자 문자(10개) '0' ~ '9' 48 ~ 57 문자 출력 대문자(26개) 'A' ~ 'Z' 65 ~ 90 문자 출력 소문자(26개) 'a' ~ 'z' 97 ~ 122 문자 출력 특수 문자(33개) ' ' (공백), '!', '&', ... 32, 36, 38.. 2024. 3. 29.