본문 바로가기

분류 전체보기365

[배열탐색] 봉우리 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 지도의 정보가 N*N 격자판에 주어지고 각 격자에는 그 지역의 높이가 쓰여있다. 각 격자판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역이다. 지도의 정보가 주어지면 봉우리 지역의 개수를 출력한다. 만약 N = 5이고 지도의 정보가 다음과 같다면 봉우리는 표시된 것과 같고 개수는 10개이다. 5 4 7 2 3 3 7 1 6 1 7 2 5 3 4 4 3 6 4 1 8 7 3 5 2 👉 입력 N줄의 걸쳐 N개의 자연수가 주어진다. 각 자연수는 100을 넘지 않는다. 👈 출력 봉우리의 개수를 출력한다. 📝 풀이 function solution(arr) { let answer = 0; let n = arr.length; let .. 2021. 12. 9.
[배열탐색] 격자판 최대합 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가장 큰 수를 출력한다. 👉 입력 N줄에 걸쳐 N개의 자연수가 주어진다. 각 자연수는 100을 넘지 않는다. 👈 출력 최대 합을 출력한다. 📝 풀이 function solution(arr) { let n = arr.length; let sum_row = sum_col = sum_diag1 = sum_diag2 = 0; let sums = []; for (let i = 0; i < n; i++) { sum_row = sum_col = 0; for (let j = 0; j < n; j++) { if (i === j) sum_diag1 += arr[i][j]; if.. 2021. 12. 9.
[배열탐색] 등수 구하기 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 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.