기초 튼튼 (24) 썸네일형 리스트형 [코테준비] Java에서 BufferReader와 BufferWriter 활용 입출력 1. 언제 쓰이나? Java 교재나 자주 접하는 레퍼런스 코드들을 살펴보면 출력과 입력은 보통 System.out.println을 활용하거나 Scanner를 불러와서 인스턴스를 새로 만들어 입력받는 경우가 대부분이다. 코딩테스트 문제를 자바로 풀다보면 시간제한 초과로 안되는 경우가 존재하는데, 이 경우 BufferReader와 BufferWriter를 활용하여 문제를 해결 가능하다. Buffer를 활용한 두 메서드의 경우 조작 방법이 다소 초기에 번거로운 측면이 있지만 속도 측면에서는 훨씬 빠르다. 2. 어떻게 쓰나? import java.io.*; import java.util.*; public class Main{ public static void main (String[] args) throws I.. [통계기본] Probability/Non-Probability Sample (확률표본/비확률표본) 오늘 내용은 통계 비전공자로서 60%만 이해해도 성공이라고 생각한다. 이렇게 정리해두면 언젠가는 이해하지 않을까? 여하튼.. 시작! 1. Probability Sample (확률 표본) 만약 모집단(Population)의 데이터가 일정 확률분포를 따르는 것으로 알려져 있다면, 표본을 이 확률분포에 기반하여 추출하여야 한다. 이러한 확률 분포에 따른 샘플링이 이루어졌을 경우 이에 대한 모집단의 추정(Inference)이 가능하다. Step 1) Point Estimate를 계산 구하고자 하는 파라미터 (Parameter of interest)에 대하여 편향되지 않은 추정치를 먼저 알아낸다. 편향되지 않은 점추정값(Unbiased Point Estimate)이란 점추정치로 가능한 모든 값들에 대한 평균값을 .. [통계기본] Sampling Distributions (표본 분포)와 Central Limit Theorem (중심극한정리) 1. 표본 분포 모집단(Population)으로 부터 많은 수의 표본집단(n)을 추출한다고 가정하여 나오는 표본샘플의 값들의 분포 추정값(Estimates) Hypothetical 이라는 점을 명심해야한다! 정말 많은 수의 표본을 추출하게 되었을 때, 추정값은 정규분포(Normal Distribution) 처럼 보이게 된다. 이에 대한 정리가 중심극한정리 2. 중심극한 정리 (CLT, Central Limit Theorem) 모집단의 평균을 m, 표준편차를 σ라고 했을 때 모집단으로 부터 추출된 표본의 크기가 충분히 크다고 가정한다면 표본으로 부터 모집단의 평균을 추정할 수 있다는 명제의 기반이 되어주는 정리 https://drhongdatanote.tistory.com/57 [개념 통계] 중심극한 정리.. [통계기본] 다변수 카테고리 데이터 시각화 - Understanding and Visualizing Data with Python 1. 변수의 갯수에 따른 용어 변수의 갯수를 나타내는 용어로 Bivariate, Univariate, Multivariate 용어가 있음 Bivariate은 변수가 2개라는 뜻으로, 대등한 변수가 2개가 있을 때 사용하는 개념 Univariate는 변수가 여러개인 것을 가리키며, 그 중에서도 독립변수가 여러개일 때를 지칭하는 개념 Multivariate는 변수가 여러개인 것을 가리키지만, 독립변수(들)에 대한 종속변수가 여러개 있을 때를 가리키는 개념 이러한 변수 종류별로, 한 눈에 데이터가 어떻게 생겼는지 이해하기 위해 시각화를 하는 여러가지 방법들이 있음 참고한 블로그 : https://blog.naver.com/anypager71/221727635687 2. 시각화의 종류 변수가 하나일 때와는 다르.. [코테준비] Python 해커랭크(HackerRank) 문제풀이 - 4 (2D Array) * 코딩인터뷰시 기업들에서 널리 활용중인 해커랭크(HackerRank)의 Python 문제 정리. 1. 문제 2차원 배열을 다루는 문제입니다. NxN로 구성되어있는 2차원 어레이에서 3x3 단위의 매트릭스 내의 숫자의 합 중 가장 큰 합을 반환하는 문제 정확히는 3x3 내의 [2,1] 위치의 벨류값과 [2,3] 위치의 벨류값을 제외한 값들의 합을 반환하는 문제입니다. 2. 정답 def hourglassSum(arr): width = len(arr[0]) - 2 length = len(arr[1]) - 2 maxSum = -9999 for i in range(0,width): for j in range(0,length): sumTemp = 0 for x in range(0,3): if x == 1: sum.. [코테준비] Python 해커랭크(HackerRank) 문제풀이 - 3 (Jumping on the Clouds) * 코딩인터뷰시 기업들에서 널리 활용중인 해커랭크(HackerRank)의 Python 문제 정리. 1. 문제 Thundervolt를 피해서 정상인 구름을 찾아서 가는 길의 이동횟수를 구하는 문제다. 2. 정답 def jumpingOnClouds(c): cnt = 0;temp=0; for index in range(0,len(c)-1): if temp == 1: temp=0 continue if index == len(c)-2 and c[index] == 0 and c[index+1] == 0: cnt+=1 break if c[index+1] == 0 and c[index+2] == 1: cnt+=1 else : cnt+=1 temp=1 return cnt 한 구름 위에서 앞의 두 구름에 대하여 맞닥뜨릴 .. [코테준비] Python 해커랭크(HackerRank) 문제풀이 - 2 (Counting Valleys) * 코딩인터뷰시 기업들에서 널리 활용중인 해커랭크(HackerRank)의 Python 문제들 중 재미있는 문제들만 모아봤습니다. 1. 문제 Valleys를 몇번이나 내려갔다 왔는가를 카운팅하는 문제 Valleys를 오역하여 산맥으로 읽어서 헷갈렸던 문제다. 벨리는 협곡! 따라서 sea level이 마이너스로 내렸다가 0으로 올라오는 횟수를 카운팅 해주면 된다. '문제를 잘 이해하기'는 생각보다 더 중요한듯하다. 어제 읽었던 종만북에서 말했듯, 문제를 잘 푸는 첫 단계는 문제를 잘 이해하는 것이다. 2. 정답 def countingValleys(n, s): cnt = 0; altitude = 0; for isUpDown in s : if isUpDown is 'U': if altitude == -1: cn.. [코테준비] Python 해커랭크(HackerRank) 문제풀이 - 1 (Socks Merchant) * 코딩인터뷰시 기업들에서 널리 활용중인 해커랭크(HackerRank)의 Python 문제 정리. 1. 문제 주어진 양말들의 짝은 몇개인가? sort를 활용하여 풀 수 있었던 Easy 문제 이 문제는 어떤 분류에 속하는지를 모르겠다. 스스로 풀 수는 있었지만, 내 머리 속에 아직 각 문제별로 유형화가 덜 되어있어서 그런 것 같다. 문제를 좀 더 풀다가 한번 알고리즘/자료구조 개념정리를 하는 시간을 가져야겠다. 2. 정답 def sockMerchant(n, ar): temp = 0; cnt = 0; ar.sort() for i in range(0,n-1): if temp == 1 : temp = 0 continue if ar[i] == ar[i+1]: cnt += 1 temp = 1 return cnt S.. [코테준비] SQL 해커랭크(HackerRank) 문제풀이 - 피벗 - 6 * 코딩인터뷰시 기업들에서 널리 활용중인 해커랭크(HackerRank)의 SQL 문제 정리. 1. 문제 SQL 쿼리를 통해 피벗테이블을 구성하라는 문제이다. 주어진 테이블에는 각 직업별 사람의 이름과 그의 직업이 저장되어있다. 이를 통해 Doctor, Professor, Singer, Actor 순으로 피벗테이블을 작성하라는 문제 2. 정답 rowNumber를 저장하는 temp 테이블을 따로 만들고, 이를 grouping 해주어 출력해야 하는 문제 Medium 난이도 문제이지만 꽤나 까다롭다.. SQL에서의 변수설정법 (Ex; set @variable = n)을 통해 rownumber를 세팅해주어야 하고, 각 직업의 rowNum별 이름을 피벗테이블에 알맞게 이전 temp테이블에서 지정해주어야 하고 이름 .. [코테준비] SQL 해커랭크(HackerRank) 문제풀이 - 직업정보 포메팅 - 5 * 코딩인터뷰시 기업들에서 널리 활용중인 해커랭크(HackerRank)의 SQL 문제 정리. 1. 문제 주어진 직업 테이블 (Occupations)에서 직업정보를 이름과 함께 문자 포멧팅하여 정렬하는 문제입니다. 2. 정답 문자열을 연결하는 명령어를 파악하여 조건에 맞게 포멧팅해줘야 합니다. 컴퓨터가 채점하기 때문에 띄어쓰기하나, 쉼표 하나도 틀리지 않게 정밀하게 포메팅해주어야 합니다. 제가 사용한 MySQL의 경우에는 concat을 통해 문자열을 결합할 수 있었습니다. Oracle 환경에서는 || 도 사용가능해서 처음부터 ||를 사용했다가 대차게 에러메시지로 까인.. ordered 조건도 정확하게 설정해주어야 합니다. 보통 order조건이 두번 이상 겹쳐서 해줘라는 조건들이 있는데 놓치기 쉬우니 세심하.. 이전 1 2 3 다음