1. 문제 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 로또 6/45(이하 ‘로또’)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 ..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게..
1. 스택(stack) 나중에 넣은 데이터를 먼저 반환하도록 설계된 자료구조 Last In First Out(LIFO) Data 입력을 push, 출력을 pop 위 그림1은 스택을 가상적으로 표현한 그림 4를 먼저 넣고 다음에 10을 넣었다 마지막에 들어간 10을 처음으로 빼내는 모습 ------------------------------------------------------------------------------------------------------------------------ 이름 그 자체를 생각해보면 외울것이 아니다 데이터를 넣을수록 계속 쌓이는(stack) 자료구조 쌓여있는 구조(stack)에서 무언가 빼낼려면 안에있는 것보다 밖에있는 것을 먼저 뺄수있다는 것을 생각한다면? --..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다 다트 게임은 총 3번의 기회로 구성된다 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨시 점수에서 ..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/12945 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr 피보나치 수는 $F(0)=0, F(1)=1$일 때 1 이상의 $n$에 대하여 $F(n) = F(n-1)+ F(n-2)$가 적용되는 수 입니다. 예를 들어 $$F(2)= F(0)+..
1. 그래디언트 벡터(gradient vector) 어떤 변수 벡터 $x=(x_{1}, x_{2}, x_{3}, .... , x_{n})$에 대하여 함수 $f(x)$의 gradient vector는 각 변수별로 편미분한 성분을 원소로 갖는 벡터 \[\bigtriangledown f(x) = (\frac{df(x)}{x_{1}}, \frac{df(x)}{x_{2}}, ... , \frac{df(x)}{x_{n}})\] gradient vector $\bigtriangledown f(x)$는 점 x에서 함수 f가 가장 빠르게 증가하는 방향을 가리킨다. 당연하지만 -gradient vector인 $-\bigtriangledown f(x)$은 점 x에서 함수 f가 가장 빠르게 감소하는 방향을 가리킨다 2. 편미..