본문 바로가기

기초다지기/JS 코딩테스트105

javascript 코딩테스트 입문 (점의 위치 구하기, 문자열 뒤집기) 요즘 정말 코테를 멀리했더니 거진 1년을 안 풀고 다른 것만 한 거 같다. 다시 입문 문제부터 천천히 풀어보는데 멈춰버린 뇌에 너무 놀람. ai chat gpt를 너무 의존했다.! 시간 단축 호율성만 따지고 보니 내 뇌는 더욱더 청순해지는거다.. 이 기본 문제도 아는데 헷갈릴 정도가 되었다니.. 근본적인 사고는 스스로 훈련하자 기초부터 다시 천천히 다지자!   1. 문제 (점의 위치 구하기) 두뇌 풀가동. 점의 좌표값에 따라서 1,2,3,4 중 하나를 리턴하는 문제이다. 처음엔 그냥 쉽게 if, else if 문을 사용해 코드를 짜려고 했는데. 아차차. 이거 코테였지. 뒤늦게 깨달음. function solution(dot) { const [a, b] = dot; if(a > 0 && b > .. 2025. 1. 7.
javaScript 지뢰찾기게임 문제 주어진 이차원 배열로 표현된 지뢰찾기 게임에서 지뢰가 있는 위치 확인하고 주변 지뢰를 표시한 후 안전한 지역의 개수 계산 풀이 function solution(board) { const n = board.length; for (let y = 0; y < n; y++) { for (let x = 0; x < n; x++) { if (board[y][x] === 1) { for (let dy = -1; dy !!self[oy + y]?.[ox + x]) ? false : safezone++; })); return safezone; } 외부 반복문을 통해 주변 8방향 확인하기 위한 좌표 정의 safezone 안전한 지역 개수 변수 forEach 바깥쪽은 행, 안쪽은 열 현재 위치에 지뢰 있으면 무시 하고.. 2024. 1. 29.
javaScript 소수 찾기 문제 1부터 n까지 사이에 있는 소수의 개수 풀이 function solution(n) { var answer = 0; // 주어진 숫자 n까지 반복 for (let i = 2; i 2024. 1. 23.
javaScript 코드 계산 (기사단원의 무기) 문제 기사 번호지정 1부터 number까지, 무기점에서 무기를 구매할 때 자신의 기사 번호의 약수 개수에 해당하는 공격력 가진 무기를 구매할 수 있다. 제한수치보다 큰 공격력을 가진 무기라면 정해지는 공격력을 가진 무기를 구매해야 함. 공격력 1당 1kg의 철이 필요하다면 무기점에서 모든 무기를 만들기 위해 필요한 철의 무게는? 풀이 function solution(number, limit, power) { var result = []; var aa = 0; for (var i = 1; i 2024. 1. 22.
javaScript 과일 장수 문제 주어진 정수 배열을 정렬하고 연속된 m개의 원소를 그룹으로 나누어 각 그룹 최소값을 찾아 그 값을 더한 결과 반환 풀이 function solution(k, m, score) { var answer = 0; var sort = score.sort((a, b) => b - a); for (let i = 0; i < sort.length; i += m) { const box = sort.slice(i, i + m); if (box.length === m) { const minScore = Math.min(...box); answer += minScore * m; } } return answer; } sort 정렬하여 원본 배열을 내림차순으로 정렬 for 문을 사용하여 m개씩 그룹을 형성 현재 그룹 길이.. 2024. 1. 18.
javaScript 캐시 계산 https://school.programmers.co.kr/learn/courses/30/lessons/17680 문제 LRU 알고리즘 코드 , 캐시에서 가장 최근에 사용되지 않은 데이터를 제거 풀이 function solution(cacheSize, cities) { const cache = []; return cities.reduce((totalTime, city) => { const lowerCity = city.toLowerCase(); if (cache.includes(lowerCity)) { // Cache hit totalTime++; cache.splice(cache.indexOf(lowerCity), 1); } else { // Cache miss totalTime += 5; } cach.. 2024. 1. 15.