파이썬 17

[백준] 괄호 #자료구조 #알고리즘

문제 바로가기 👉 백준 9012번☑️  문제 요약입력으로 주어진 괄호 문자열이 VPS 인지 아닌지를 판단해서 그 결과를 YES 와 NO 로 나타내는 프로그램 작성- 입력 데이터는 표준 입력을 사용한다. - 입력은 T개의 테스트 데이터로 주어진다.- 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. - 각 테스트 데이터의 첫째 줄에는 괄호 문자열이 한 줄에 주어진다.- 하나의 괄호 문자열의 길이는 2 이상 50 이하 ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.먼저 몇 개의 텍스트가 입력될 건지 입력받는다.입력받은 텍스트 수 만큼 텍스트를 입력 받는다.가능할 때까지 완성된 괄호를 제거한다.위 과정을 코드로 구현한다.input()을 사용해서 텍스트 수와 텍스트를 입력받는다.텍스트 단..

[백준] 단어 뒤집기 #자료구조 #알고리즘

문제 바로가기 👉 백준 9093번☑️  문제 요약문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램 작성- 첫째 줄에 테스트 케이스의 개수 T가 주어진다.- 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다.- 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다.- 단어와 단어 사이에는 공백 존재 ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.먼저 몇 개의 문장이 입력될 건지 입력받는다.입력받은 문장의 수 만큼 문장을 입력 받는다.문장 하나를 입력받고, 단어 단위로 쪼갠다.단어를 뒤집에서 새로운 문장에 추가한다.위 과정을 코드로 구현한다.input()을 사용해서 문장 수와 문장을 입력받는다.문장 단위 for문, 단어 단위 for문으로 구조를 만든다.단어 단위에서 ..

[백준] 정수 저장 및 명령 처리 프로그램 #스택 #알고리즘

문제 바로가기 👉 백준 10828번☑️  문제 요약정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램 작성명령 종류push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.먼저 몇 개의 명령이 입력될 건지 입력받는다.입력받은 명령의 수 만큼 명령을 입력 받는다.명령 하나를 입력받을 때, 위 '명..

[프로그래머스] K번째수 #정렬 #알고리즘

문제 바로가기 👉 프로그래머스☑️  문제 요약주어진 배열 array에서 특정 구간 [i, j]을 잘라 정렬한 후, k번째 숫자를 구한다.제한사항• array의 길이는 1~100• commands의 길이는 1~50• array의 원소 값과 i, j, k 값은 1~100 ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.array의 i번째부터 j번째까지 슬라이싱자른 배열을 정렬정렬된 배열에서 k번째 숫자를 찾음위 과정을 commands에 있는 모든 [i, j, k]에 대해 수행하여 결과 배열을 반환위 과정을 코드로 구현한다.리스트 슬라이싱 활용(array[i-1:j]) - 리스트 인덱스는 0부터 시작하므로 i에서 1을 빼준다.반복문을 통해서 commands 안에 있는 리스트들(개별 command)로 모두..

[프로그래머스] 같은 숫자는 싫어 #스택/큐 #알고리즘

문제 바로가기 👉 프로그래머스☑️  문제 요약배열 arr에서 연속적으로 중복된 숫자를 하나만 남기고 제거해야 합니다.남은 숫자들의 순서는 유지해야 합니다.제한 사항• arr의 길이는 최대 1,000,000• arr의 원소는 0~9 사이의 정수 ☑️  KEY 포인트반복문을 통해서 배열의 첫번째 숫자부터 그 다음 숫자와 비교하며 체크해 나간다.2가지의 갈래로 경우의 수를 나눠야 한다. (1) 배열의 끝자리일 때와 아닐 때(2) 현재 숫자가 다음 숫자와 같을 때와 아닐 때배열의 끝자리가 아닐 때, 현재 숫자와 다음 숫자를 비교하여 두 수가 다르면 현재 숫자를 answer 리스트에 추가현재 숫자가 배열의 끝자리일 경우 무조건 answer 리스트에 추가 ☑️  해결 코드def solution(arr): a..

[프로그래머스] 폰켓몬 #해시 #알고리즘

문제 바로가기 👉 프로그래머스☑️  문제 요약당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.1. N마리의 폰켓몬 중 N/2마리를 선택할 때, 최대한 다양한 종류를 선택해야 한다.2. 같은 번호의 폰켓몬은 같은 종류로 간주된다.3. 선택할 수 있는 폰켓몬의 최대 종류 개수를 반환해야 한다.4. nums 배열의 길이 N은 1 이상 10,000 이하의 짝수이며, 폰켓몬 번호는 1 이상 200,000 이하이다.5. 최적의 선택 방법이 여러 개여도, 최대 종류 개수 하나만 반환한다. ☑️  KEY 포인트동일한 배열에서 같은 폰켓몬 종류를 제외한, Unique한 종류 개수..

[머신러닝] 선형 회귀(Linear Regression), 경사하강법, RMSE

선형 회귀(Linear Regression)용어머신러닝지도 학습 -선형 회귀가 속함 1) 분류 - 몇가지 정답 중에 고르는 것 2) 회귀 - 연속적인 값을 예측하는 것비지도 학습강화 학습선형 회귀데이터에 가장 잘 맞는 가설 함수를 찾아야함.목표 변수 : 맞추려고 하는 값(target variable / output variable)입력 변수 : 맞추는데 사용하는 값(input variable / feature)학습 데이터 : 프로그램을 학습 시키기 위해 사용하는 데이터개수 : m입력변수 : x (위에 작은 괄호에 숫자(n)넣어서 n번째 데이터의 x값 표현)목표변수 : y (위에 작은 괄호에 숫자(n)넣어서 n번째 데이터의 y값 표현)선형회귀로 최적선을 찾아내서 미래를 예측한다.가설 함수 : 머신러닝에..

[TIL] subplot으로 두 개의 그래프 한 figure에 그리기 # python # 부트캠프

부트캠프 프로젝트 - 구독 서비스 플랫폼 데이터 분석 프로젝트문제 코드# 그래프 스타일 지정sns.set_theme(style='darkgrid',rc={'figure.figsize':(18,6)},font='Nanum Gothic')# 꺾은선 그래프 그리기sns.lineplot(data=df, x='event', y='y', marker='o', color='#A94A4A')# 막대그래프 그리기sns.barplot(datadf, x='event', y='y', color='#F4D793') plt.grid(axis='x')# 타이틀 축 라벨 작성 및 설정plt.title('그래프 타이틀', fontsize=18) plt.xlabel('x축', fontsize=10) plt.ylabel('y축', ..

DA Study/TIL 2025.01.23

[Python] 데이터 프레임 Boolean 인덱싱 VS query() 메서드

Boolean 인덱싱Boolean 인덱싱은 조건을 만족하는 행(row)만 필터링할 때 사용하는 방법조건식을 작성하고, 이를 데이터프레임의 인덱스로 활용 예시 코드# 예시 데이터프레임data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [24, 27, 22, 32], 'Score': [85, 95, 75, 80]}df = pd.DataFrame(data)# 조건: Age가 25 이상인 데이터 필터링filtered_df = df[df['Age'] >= 25]print(filtered_df) 결과 Name Age Score1 Bob 27 953 David 32 80 특징직관적인 표현: 조건문을 데이터프레임에 ..

[TIL] 집단 간 비율 차이 통계적 유의미성 검증하기 - Z검정 # python # 부트캠프

부트캠프 프로젝트 - 구독 서비스 플랫폼 데이터 분석 프로젝트# 데이터 입력n1, x1 = '표본 크기', '첫번째 집단 크기'n2, x2 = '표본 크기', '두번째 집단 크기'# z-검정 수행count = np.array([x1, x2]) # 집단 크기nobs = np.array([n1, n2]) # 표본 크기z_stat, p_value = proportions_ztest(count, nobs)# 결과 출력print(f"z-statistic: {z_stat:.3f}")print(f"p-value: {p_value:.3f}")# 결과 해석alpha = 0.05if p_value 위 코드의 변수명, 데이터는 마스킹 처리하여 기재하였습니다.[ 문제 상황 ]A 이벤트 수에 따라 B 전환 비율이 증가하는..

DA Study/TIL 2025.01.15