본문 바로가기

Algorithm137

[배열탐색] 등수 구하기 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 N명의 학생의 점수가 입력되면 각 학생의 등수를 입력한 순서대로 출력한다. 같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 예를 들어 92, 92, 92, 89, 70이 입력으로 들어온다면 출력은 1, 1, 1, 4, 5 이다. 👉 입력 N개의 정수가 입력된다. 👈 출력 각 학생의 등수가 순서대로 출력된다. 📝 풀이 function solution(arr) { let answer = Array(arr.length).fill(1); for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length; j++) { if (arr[i] < arr[j]) answer[i]++; .. 2021. 12. 9.
[배열탐색] 점수계산 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 여러 개의 OX 문제로 만들어진 시험에서 연속으로 답을 맞히는 경우에는 가산점을 주기 위해 다음과 같이 점수 계산을 하기로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다. 연속으로 문제의 답이 맞는 경우에는 연속으로 맞은 문제만큼의 가산점을 준다. (1번부터 3번까지 정답을 맞힐 경우 점수는 1 + 2 + 3이 된다.) 틀린 문제는 0점으로 계산한다. 시험 문제의 채점 결과가 주어졌을 때 총 점수를 계산해 출력한다. 👉 입력 문제 N개의 채점 결과가 주어진다. 결과는 0 또는 1로 구성되며 0은 오답인 경우, 1은 정답인 경우이다. 👈 출력 채점 결과.. 2021. 12. 9.
[배열탐색] 가위바위보 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 A와 B 두 사람이 가위바위보 게임을 한다. 총 N번의 게임을 하여 A가 이기면 A, B가 이기면 B, 비기면 D를 출력한다. 가위, 바위, 보의 정보는 순서대로 1, 2, 3으로 한다. 두 사람의 N번의 게임 정보가 주어지면 각 회의 결과를 출력한다. 👉 입력 첫번째 입력으로 A가 낸 가위, 바위, 보의 정보가 N개 주어진다. 두번째 입력으로 B가 낸 가위, 바위, 보의 정보가 N개 주어진다. 👈 출력 각 줄에 각 회의 결과를 출력한다. 📝 풀이 function solution(a, b) { let answer = []; for (let i = 0; i < a.length; i++) { if (a[i] === b[i]) answer.. 2021. 12. 9.
[배열탐색] 보이는 학생 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 선생님이 N(1 2021. 12. 9.
[배열탐색] 큰 수 출력하기 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 100 이하의 N개의 정수를 입력받아 자신의 바로 앞에 있는 수보다 큰 수만 출력한다. 이때 첫 번째 수는 무조건 출력한다. 👉 입력 N개의 정수가 주어진다. 👈 출력 자신의 바로 앞 수보다 큰 수만 한 줄로 출력한다. 📝 풀이 function solution(arr) { let answer = []; answer.push(arr[0]) for (let i = 1; i < arr.length - 1; i++) { if (arr[i] < arr[i + 1]) { answer.push(arr[i + 1]); } } return answer; } let arr = [7, 3, 9, 5, 6, 12]; console.log(solution(.. 2021. 12. 9.
[프로그래머스] 모의고사 문제 링크 >> https://programmers.co.kr/learn/courses/30/lessons/42840 📋 문제 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answer.. 2021. 12. 6.
[프로그래머스] 로또의 최고 순위와 최저 순위 문제 링크 >> https://programmers.co.kr/learn/courses/30/lessons/77484 📋 문제 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호.. 2021. 12. 6.
[프로그래머스] 신규 아이디 추천 문제 링크 >> https://programmers.co.kr/learn/courses/30/lessons/72410 📋 문제 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또.. 2021. 12. 6.
[basics] 중복 단어 제거 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 N개의 문자열이 입력되면 중복된 문자열은 제거하고 출력한다. 이때 출력하는 문자열은 원래의 입력 순서를 유지한다. 👉 입력 길이가 100을 넘지 않는 N개의 문자열이 주어진다. 각 문자열은 줄바꿈으로 구분된다. 👈 출력 첫번째 줄부터 중복이 제거된 문자열을 입력 순서대로 출력한다. 📝 풀이 입력된 문자열들을 순회하며 해당 문자열이 answer라는 배열에 없을 경우 answer에 push한다. 이후 배열 안의 요소들에 공백을 추가하여 출력한다. 위와 같은 방식이지만 이 방식은 for of 문과 if 문 대신 filter를 사용해 해당 조건에 만족하는 문자열들을 추출한 후 공백을 추가한다. 2021. 12. 6.