[알고리즘] 로또의 최고 순위와 최저 순위
·
알고리즘
문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다...
[알고리즘] 신고 결과 받기
·
알고리즘
문제 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송한다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지 후 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉, 2번 이..
[알고리즘] 배열( 순차 리스트)
·
알고리즘/풀이 힌트
1. 배열 연관된 데이터를 연속적인 형태로 구성된 구조를 가진다. 배열에 포함된 원소는 순서대로 번호(index)가 붙는다. 특징 고정된 크기를 가지며 일반적으론 동적으로 크기를 늘릴 수 없다. - 자바스크립트처럼 스크립트 언어의 경우 동적으로 크기가 증감되어진다. 원하는 원소의 index를 알고 있다면 O(1)로 원소를 찾을 수 있다. 원소를 삭제하면 해당 index에 빈자리가 생긴다. 2. 배열의 요소 삭제 [1, 1, 2, 3, 5, 7, 10, 13, 34] 인 배열이 있다. 여기서 7을 제거할 경우 진행되는 방법을 보자면 1. 7이 삭제된다. => [1, 1, 2, 3, 5, ` `, 10, 13, 34] 2. 10이 앞으로 한칸 이동한다. => [1, 1, 2, 3, 5, 10, ` `, 13..
[알고리즘] 자바스크립트 9가지 코드 트릭
·
알고리즘/풀이 힌트
1. 구조 분해 할당을 이용한 변수 swap ES6의 구조 분해 할당 문법을 사용하여 두 변수를 swap 할 수 있다. let a = 5; let b= 10; [a,b] = [b,a]; console.log(a, b); // 10 5 2. 배열 생성으로 루프 제거 let sum = 0; for (let i = 5; i k + 5) .reduce((acc, cur) => acc + cur, 0); 만약 범위 루프를 함수형 프로그래밍 방식으로 사용하고 싶다면 배열을 생성해서 사용할 수 있다. Array .from(new Arr..