본문 바로가기

JavaScript84

[문자열탐색] 회문 문자열 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 한다. 문자열이 입력으로 들어왔을 때 해당 문자열이 회문 문자열이라면 "YES"를, 아니면 "NO"를 출력한다. 단 회문을 검사할 때 대소문자를 구분하지 않는다. 👉 입력 길이 100을 넘지 않고 공백이 없는 문자열이 입력된다. 👈 출력 회문 문자열인지의 결과를 "YES" 또는 "NO"로 출력한다. 💡 사용된 개념 String.split() String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눈다. 반환값은 구분자마다 끊은 부분 문자열을 담은 배열이다. str.split([separator[, limit]]) separator : 원본 문자열을 끊어야 .. 2021. 12. 9.
[배열탐색] 봉우리 자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다. 📋 문제 지도의 정보가 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.