Front-end(170)
-
[백준] 2231. 분해합 (브루트포스 알고리즘/완전탐색/자바스크립트/node.js/javascript/알고리즘/코딩테스트)
[백준] 2231. 분해합 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 192 MB 46347 22149 17735 47.722% 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에..
2021.04.27 -
[백준] 2798. 블랙잭 (자바스크립트/node.js/javascript/알고리즘/코딩테스트)
[백준] 2798. 블랙잭 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 128 MB 58936 26517 20969 44.279% 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 ..
2021.04.27 -
순열과 조합 알고리즘 (자바스크립트/js/javascript)
알고리즘 문제를 풀던 중에, 조합 아이디어를 이용해서 문제를 해결해야 하는 경우가 많이 보이는 것 같아서 이번 시간에는 순열과 조합을 자바스크립트 코드로 작성하는 것에 대해 알아보고자 합니다. 우선 순열과 조합의 정의부터 간단히 알아보겠습니다. 순열 : n개 중에 r개를 뽑아서 순서대로 나열하는 것 예 ) 10P3 = 10*9*8 = 720 조합 : 순서 없이 n개 중에 r개를 뽑는 것 예) 10C3 = 10*9*8 / 3*2*1 = 120 nCr = nCn-r이므로 10C3 = 10C7 1. 조합(Combination) const getCombinations = (array, selectNumber) => { const results = []; if(selectNumber === 1){ return a..
2021.04.26 -
[백준] 2447. 별 찍기 - 10 (node.js/javascript/자바스크립트/알고리즘/코딩테스트/재귀함수)
[백준] 2447. 별 찍기 - 10 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 29442 15117 11028 51.162% 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며,..
2021.04.23 -
[백준] 11729. 하노이 탑 이동 순서(node.js/javascript/하노이의 탑 알고리즘/코딩테스트/자바스크립트 알고리즘)
[백준] 11729. 하노이 탑 이동 순서 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 34398 16760 13013 48.547% 문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5개인 경우의 예시이다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤..
2021.04.23 -
[React] 배열에 항목 수정하기
☕ 이번 시간에는 배열에 항목 수정하기를 해보겠다. 이번에 해볼 것은 이름을 클릭하면 초록색으로 바뀌고, 다시 클릭하면 검정색으로 바뀌는 것을 해볼 것이다. ☕ active 변수 만들기 const [users, setUsers] = useState([ { id: 1, username: 'velopert', email: 'public.velopert@gmail.com', active: true }, { id: 2, username: 'tester', email: 'tester@example.com', active: false }, { id: 3, username: 'liz', email: 'liz@example.com', active: false } ]); 그것을 하기전에 우선적으로 해야할 작업은 user..
2021.04.19