본문 바로가기

공부/알고리즘&코딩테스트3

[JS] N까지의 수의 합 다시 코딩테스트 공부를 시작하면서, N까지의 수를 합을 구하는 공식이 있다는 것이 생각났다. 검색하면 많은 좋은 글이 나오는 내용이지만, 내 머릿속에 남기기 위해서 블로깅을 하기로 결정했다. 1 ~ N 까지의 합을 구하는 공식 = N(N + 1) / 2 // 1 ~ N까지 합을 구하는 공식 N * (N + 1)/2 공식은 정말 간단하다. 그렇다면 왜 이렇게 풀이가 되는 것일까? 삼각형을 생각하기 1부터 4까지의 합을 구해야한다고 가정한다. 이 문제를 그림으로 그리면 왼쪽과 같이 표현할 수 있다. 검정 원들을 보면 검정 원의 모음이 삼각형을 그리게 되는 것을 알 수 있다. 삼각형의 넓이를 구하는 공식을 기억해보자. 삼각형의 넓이 = 높이 x 밑변 / 2 따라서 1 ~ N까지의 합이 N(N + 1) / 2가.. 2023. 6. 8.
[프로그래머스 lv1] 크레인 인형뽑기 게임 JS 정말 혼자 풀면서 생각한 것들을 끄적여 놓은 글입니다.. 😶 생각해보기 NxN의 배열 인형은 아래부터 칸칸씩 쌓임 멈춘 위치의 가장 위에 있는 인형을 뽑을 수 있다. 바구니에 쌓는다. 바구니도 가장 아래부터 쌓인다 = 스택 같은 모양의 인형이 두개가 동시에 쌓이면? = 바구니에서 사라진다 원하는 리턴값 = 크레인을 모두 작동 시킨뒤 터져서 사라진 인형의 개수 --- 크레인 움직임 배열 = moves는 board 2차원 배열의 두번째?칸을 의미한다. ex ) moves가 3이면 3은 board[x][3] 1. 정해진 위치의 배열의 0이 아닌 값을 뽑는다. 2. 그걸 바구니 스택에 넣기 전에, 바구니 스택의 가장 꼭대기에 있는 값을 peek?해서 지금 가진 숫자와 같은지 확인한다. 3-1. 같다면 push를.. 2021. 8. 17.
[프로그래머스 lv1] 로또의 최고 순위와 최저 순위 JS 별거 없고 그냥 풀면서 생각했던 걸 끄적입니다. 😶 생각해보기 최고 순위와 최저 순위를 만들어 주면된다. 민우가 당첨된 숫자들의 개수를 알아낸다. ex) [1,2,3,4,5,6]이 당첨 숫자고 민우가 산 로또가 [1,2,9,7,0,0]이라면 당첨된 숫자는 [1,2]로 2개 최고 순위 = 민우가 가진 0의 개수 + 민우가 맞춘 로또 개수 최저 순위 = 민우가 맞춘 로또 개수 🤔 코드 생각해보기 현재 당첨된 숫자의 개수를 어떻게 구할 것인가? 당첨 배열에 forEach를 사용해서 해당 숫자가 민우의 로또에 includes라면 count++; 현재 민우가 가진 0의 개수를 어떻게 구할 것인가? 민우 배열에 forEach를 사용해, 해당 숫자가 0이라면 unknownNumber++; 최고 순위 7 - ( 당첨된.. 2021. 8. 17.