분류 전체보기

👉🏻 17143번: 낚시왕 '''1. 일단 잡고,2. 상어 이동하고, 2-1. 상어 먹히고'''R, C, M = map(int, input().split())sharks = [list(map(int, input().split())) for _ in range(M)]sharks_grid = [[None] * (C+1) for _ in range(R+1)]for r, c, s, d, z in sharks: sharks_grid[r][c] = (s, d, z)'''4 1 3 3 8상어 정보가 들어오면, 가장 땅에 가까운 상어를 잡아서 해당 상어의 크기를 반환하도록 함결과적으로 크기의 합을 answer로 출력해야하기 때문에'''def fishing(pos, grid): # del 용도로 저장..
세상은 우연의 연속인 것처럼 보이지만, 사실 대부분의 일에는 특정한 확률이 숨어있기 마련입니다. 어떤 이벤트에 당첨되는 것도, 출근길에 지하철을 놓치는 것도 완전한 우연이라고 말하기 어렵습니다.데이터 분석은 이런 '우연'을 수학적으로 계산하고, 그 안의 패턴을 찾아내는 일이라고 할 수 있습니다. 그 중에서도 확률은 데이터가 세상을 설명하는 방식 중에 하나입니다. 확률도 종류가 다양하던데 어떤 게 있나요?흔히 우리가 표현하는 P(A), P(B) 같은 확률은 비조건확률이라고 합니다. 한계 확률이라고도 불리는 이 확률은 이름대로 아무런 조건이 없는 상황에서 특정 사건(A, B)이 일어날 확률입니다.또 두 개 이상의 사건이 동시에 일어나는 확률은 결합 확률이라고 부릅니다. P(A∩B)로 표시해, 사건의 교집합이..
평균은 데이터를 대표하는 값이긴 하지만, 평균만으로는 데이터의 모든 것을 다 파악할 수는 없습니다.값들이 얼마나 흩어져 있는지, 한쪽으로 치우쳐 있는지, 그리고 얼마나 뾰족한 분포를 가지는지에 따라 데이터의 해석은 완전히 달라지게 됩니다.그래서 통계학에서는 평균을 시작으로 분산, 표준편차, 왜도, 첨도 등의 기술 통계적인 특성을 함께 살펴봅니다. 평균은 데이터를 얼마나 잘 대표할까요?우선 평균을 측정할 수 있는 방법은 상황의 특성에 따라 조금씩 다릅니다.먼저 저희가 흔히 알고 있는 평균은 산술 평균인데, 기본적인 평균의 측정 방법입니다. 산술 평균은 등간 척도나 비율 척도로 측정된 데이터를 통해 전체 변숫값을 모두 더한 뒤에 값들의 개수로 나눠 구할 수 있습니다.단순히 한 학급의 평균 몸무게나 키를 구하..
각 사람마다 MBTI로 표현되는 성향이 존재하듯이, 데이터에도 각자의 성격이 있습니다.어떤 데이터는 계산이 가능하기도 하지만, 그저 구분만 가능한 데이터들도 있습니다. 이렇게 데이터의 성격을 구분하는 기준이 바로 '변수와 척도'입니다. 변수는 무엇인가요?모든 데이터는 변수라는 이름 아래, 서로 다른 특징과 역할을 가지고 있습니다. 변수는 이처럼 데이터의 기본 단위 역할을 해줍니다.데이터 과학과 데이터 분석은 이 변수와 변수 간의 관계를 밝혀내는 활동이라고 할 수 있습니다.보통 연산을 하는 것이 의미가 있는지 없는지에 따라 양적 변수와 질적 변수로 구분이 됩니다.여기서 양적 변수는 정숫값만 취할 수 있는 이산 변수와 연속적인 모든 실숫값을 취할 수 있는 연속 변수로 나뉩니다.그리고 질적 변수는 속성을 숫자..
우리가 데이터를 분석할 때, 전체 데이터를 확인하는 것이 가장 정확하고, 좋다고 여기는 경향이 있습니다. 하지만 세상 모든 데이터를 확인하고 모으는 건 거의 불가능이라고 생각합니다.그래서 통계학은 이 문제를 '부분으로 전체를 추정하는' 표본 조사라는 방식으로 풀어줍니다. 이전 글에서도 언급했듯 통계학의 핵심은 표본에서 모집단으로 가는 과정입니다. 표본 조사는 왜, 어떻게 하나요?최종 데이터 분석에는 전체 데이터를 사용하더라도, 분석 모델이 완성될 때까지는 표본 데이터를 활용하는 것이 경제적으로, 시간적으로 훨씬 유리합니다.일반적으로 최소 200개 이상의 표본이 확보되면 분석이 가능하다고 합니다. 하지만 변수의 개수나 표본 분산에 따라서 더 많은 표본이 필요할 수도 있습니다. 통계적으로 변수 하나당 최소 ..
요즘에는 개인이든 어떤 기업이든 간에 데이터가 중요하다고 얘기합니다. 하지만 정작 데이터를 제대로 읽는 사람은 많지 않은 것 같습니다.그래서 제가 학부 시절, 그리고 그 이전 학창 시절에 배웠던 통계학이 그 빈틈을 채워주곤 했습니다. 데이터를 그저 확인하는 것에서 이해하는 것으로 바꿔주는 것이 통계학의 역할이었습니다. 왜 통계학을 알아야 하나요?이유는 간단합니다. 보통 데이터를 다루는 사람들은 먼저 가공(전처리 등)한 데이터를 EDA하면서 데이터를 이해하고 분석하는 과정을 거칩니다. 이 과정 안에 데이터의 분포, 연관성, 확률 등을 통계적으로 깊이 있게 분석하는 것도 포함됩니다.특히 사람들이 궁금해하는 현상의 원인을 찾아내고 미래를 예측하기 위해서는 먼저 나름대로의 가설을 설정해야하고, 통계적인 분석을 ..
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krWITH CAR_FEE AS ( SELECT C.CAR_ID, C.CAR_TYPE, FLOOR(C.DAILY_FEE * 30 * (1 - P.DISCOUNT_RATE / 100)) AS FEE FROM CAR_RENTAL_COMPANY_CAR C JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN P ON C.CAR_TYPE = P.CAR_TYPE WHERE C.CAR_TYPE IN ('세단', 'SUV') AND P.DURATION_TYPE = '30일 이상')SELECT F.CAR_ID, F.CAR_TYPE, F..
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr# 일단, 쿼리 구조를 세워보면,# HISTORY_ID와 가격을 구해야하는데,# 가격은 DAILY_FEE * DISCOUNT_RATE * (DATEDIFF(END_DATE, START_DATE) + 1)# SELECT START_DATE, END_DATE, DATEDIFF(END_DATE, START_DATE) + 1 AS DIFF# FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY# FEE는 DAILY_FEE * DIFF * 할인율# 할인율 같은 경우에는 DIFF에 따라 CASE로 나눠줘야하는데, BETWEEN으로 분기 처리해주자.# 그리고 CO..
ReJoy
'분류 전체보기' 카테고리의 글 목록