취뽀 기록

#열심히 살자 #취업 #공부

코린이 탈출 일지

[Level 2] 귤 고르기(★)

간단해보이는데 너무 어려웠다.. 오랜만에 코테 공부해서 그런가? def solution(k, tangerine): answer = 0 check = 0 dict = {} for num in tangerine: if num in dict: dict[num] += 1 else: dict[num] = 1 arr = sorted(dict.items(), key = lambda x:x[1], reverse = True) if arr[0][1] >= k: return 1 else: for i in arr: if check < k: check += i[1] answer += 1 else: break return answer 흐름은 이렇다. 1. 우선 dict라는 딕셔너리를 만들어서 각 귤의 크기와 개수를 담는다. 2..

[프로그래머스] 2024.04.19 1

[seaborn] 시각화(산점도, 히스토그램, 히트맵, 비율 막대 그래프, 빈도 막대 그래프, 상자 그림, 바이올린 그림, 조인트 그림, 그리드 분할, pairplot)

# seaborn으로 시각화 # 그래프 객체 fig = plt.figure(figsize = (12, 5)) ax1 = fig.add_subplot(1, 2, 1) ax2 = fig.add_subplot(1, 2, 2) # 산점도 # 회귀선이 없는 산점도 sns.regplot(x = 'age', y = 'fare', # 변수 설정 data = titanic, # 데이터 설정 ax = ax1, # axe 객체 설정 = 위치 설정 fit_reg = False) # 회귀선이 있는 산점도 sns.regplot(x = 'age', y = 'fare', # 변수 설정 data = titanic, # 데이터 설정 ax = ax2, # axe 객체 설정 = 위치 설정 fit_reg = True) plt.show() s..

[시각화] 2023.06.18 0

[python] 결측치 처리, 대체 map 함수

# 결측값 확인(비율)# EDA - 결측값 확인(비율 확인)df.isnull().sum() / df.shape[0]  # 결측치 컬럼 삭제하기# 80%이상 결측치 컬럼, 삭제df = df.drop('f3', axis = 1) # city별 f1의 median 값 확인# 80%미만 결측치 컬럼, city별 중앙값으로 대체s = df[df['city'] == '서울']['f1'].median()k = df[df['city'] == '경기']['f1'].median()b = df[df['city'] == '부산']['f1'].median()d = df[df['city'] == '대구']['f1'].median() # map 함수 이용하여 f1의 결측값을 s, k, b, d로 대체하기# f1 평균값 결과 출력d..

[개념 및 문법] 2024.05.03 0

[코드트리] 2차원 배열과 패턴 > 대각선으로 숫자 채우기(★★★)

n * m크기의 직사각형에 숫자를 1부터 순서대로 1씩 증가시키며 왼쪽 위에서부터 시작하여 오른쪽 아래 쪽까지 다음과 같은 방향으로 숫자들을 쭉 채우는 코드를 작성해보세요. 풀이 # n, m 입력받기 n, m = map(int, input().split()) # grid 리스트 생성하여 초기값 0 할당 # n개의 행과 m개의 열로 구성됨 grid = [[0] * m for _ in range(n)] # 숫자 할당 num = 1 for i in range(n + m - 1): # 사선의 총 개수 n + m - 1번 만큼 반복 for j in range(max(0, i - m + 1), min(i + 1, n)): # 현재 사선에서 숫자를 할당할 위치 결정 # 여기서 max(0, i - m + 1)은 행의 ..

[코드트리] 2023.07.14 0

[코드트리] Min/Max > 가장 왼쪽에 있는 최댓값(★)

N개의 숫자가 주어졌을 때, 주어진 숫자들 중 최댓값의 위치를 출력합니다. 만약 최댓값이 여러 개라면, 가장 왼쪽에 있는 최댓값의 위치를 출력합니다. 그 이후에는 위에서 구한 최댓값의 위치보다 더 왼쪽에 있는 숫자들 중 최댓값을 구해 그 위치를 출력합니다. 이 경우에도 최댓값이 여러 개라면, 가장 왼쪽에 있는 최댓값의 위치를 출력합니다. 위의 과정을 끊임없이 반복하며, 최종적으로 첫 번째 원소가 뽑히게 되면 이 과정을 종료합니다. 이러한 과정을 거쳐 구해진 최댓값의 위치들을 출력하는 프로그램을 작성해보세요. # 변수 선언 및 입력 n = int(input()) a = list(map(int, input().split())) prev_max_idx = n # 첫 번째 원소가 최대가 되기 전까지 계속 반복합..

[코드트리] 2023.07.02 0

[코드트리] Count 배열 > 코로나 메뉴얼 2

감기 증상이 있으면 Y, 감기 증상이 없으면 N으로 나타내기로 하고, 체온을 쟀을 때 수치에 따라 진료소를 다르게 구분하려고 합니다. 증상도 있고 37℃ 이상일 때 A 증상은 없지만 37℃ 이상일 때 B 증상은 있지만 체온은 정상일 때 C 둘 다 괜찮은 경우엔 D 한 번에 3명씩 검사하는데 A로 가는 사람이 2명 이상 나올때는 위급상황 E로 분류합니다. # 카운팅 배열의 1에는 A인 사람의 수가, 2에는 B가, 3에는 C가, 4에는 D가 들어감 count_arr = [0] * 5 # s와 t를 입력받은 후 카운팅 배열을 통해 각각의 빈도 저장 for _ in range(3): s, t = input().split() t = int(t) # type num = 분류 번호 if t >= 37 and s ==..

[코드트리] 2023.06.30 0

[코드트리] 구구단 > 구구단 만들기

짝수인 정수 a, b가 주어지면, a이상 b이하의 수 중 짝수에 해당하는 숫자의 구구단을 예제와 같은 형식으로 출력하는 프로그램을 작성해보세요. b에서 a로 감소하며 출력합니다. 6 * 1 = 6 / 4 * 1 = 4 / 2 * 1 = 2 6 * 2 = 12 / 4 * 2 = 8 / 2 * 2 = 4 6 * 3 = 18 / 4 * 3 = 12 / 2 * 3 = 6 ...............(생략)............... 6 * 8 = 48 / 4 * 8 = 32 / 2 * 8 = 16 6 * 9 = 54 / 4 * 9 = 36 / 2 * 9 = 18 # 변수 선언 및 입력 inp = input() arr = inp.split() a = int(arr[0]) b = int(arr[1]) # b부터 a..

[코드트리] 2023.06.26 0

[matplitlib] 그래프 시각화

선그래프 # 기본값 kind = 'line' df_new_t.plot() # 보통 x 축에 시간이 옴 막대그래프 수직막대그래프 df_new.plot(kind = 'bar') 수평막대그래프 # 수평 막대 그래프 df_new.plot(kind = 'barh') df_new_t.plot(kind = 'barh') 히스토그램 df_new_t.plot(kind = 'hist') 산점도 # 차중과 연비의 산점도 df.plot(kind = 'scatter', x = 'mpg', y = 'weight') 상자수염그림 df[['mpg', 'acceleration']].plot(kind = 'box') [시도별 전출입 인구수] 데이터 전처리 및 시각화 # 라이브러리 불러오기 import pandas as pd import..

[시각화] 2023.06.16 0

[python] 팩토리얼(factorial) 함수 구현(for 문/ 재귀/math 라이브러리)

■ 팩토리얼(factorial) 특정 수보다 작거나 같은 모든 양의 정수의 곱이다. n이 하나의 자연수일 때, 1에서 n까지의 모든 자연수의 곱 ex) 4! = 4 x 3 x 2 x 1 = 24 1. for 반복문을 이용한 팩토리얼 구현 # for문 이용 n = int(input("팩토리얼을 구할 숫자를 입력하세요.")) result = 1 for n in range(1, n+1, 1): result *= n # result = result * n print(result) 풀이 ------------------------------------------------------------------------------------------------------ 1. input 함수를 이용해 사용자에게서 숫..

[알고리즘] 2023.06.13 0