본문 바로가기

JavaScript14

[JS] 약수의 합 점수 : 1154 (+1) 테스트케이스 최대 소요시간 : 33.5MB 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12928# 제출답안 function solution(n) { if(n==1||n==0) return n; let sums = 1+n; let untl = n; for(let f=2 ; f 2024. 4. 16.
[JS] 시저 암호 점수 : 1147(+8) 테스트케이스 최대 소요시간 : 3.00ms, 33.9MB 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12926?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출답안 function solution(s, n) { const sToInt = {a:0,b:1,c:2,d:3,e:4,f:5,g:6,h:7,i:8,j:9,k:10,l:11,m:12,n:13,o:14,p:15,q:16,r:17,s:18,t:19,u:20,v:21,w:22,.. 2024. 4. 15.
[JS] 나누어 떨어지는 숫자 배열 점수 : 1133 (+2) 테스트케이스 최대 소요시간 : 4.03ms, 37MB 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12910?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출답안 function solution(arr, divisor) { var answer = arr.filter((thing)=> thing%divisor==0); if(answer.length==0){answer.push(-1)}; return answer.sort(fun.. 2024. 4. 7.
[JS] 숫자 문자열과 영단어 점수 : 1107 (+5) 테스트케이스 최대 소요시간 : 0.06ms 문제 요약 : 그냥 해당하는 문자열을 다 숫자로 바꿔주면 됨! 제출답안 let stringToNo = [['zero',0], ['one',1],['two',2],['three',3],['four',4], ['five',5],['six',6],['seven',7],['eight',8],['nine',9]] ; function solution(s) { stringToNo.forEach((ar)=> s = s.replaceAll(ar[0],ar[1]) ) ; return s*1; } 문제해설 //아래 배열이 함수 안쪽으로 들어가면 시간이 쬐ㅣㅣㅣ끔 더 소요됩니다. 이유는.. let stringToNo = [['zero',0], ['one',.. 2024. 3. 18.
[JS] 덧칠하기 - 프로그래머스 점수 : 1102 (+10) 테스트케이스 최대 소요시간 : 2.78ms 제출답안 function solution(n, m, section) { var answer = 0; let filled = section[0]-1 ; section.forEach((empty)=>{ if(empty > filled){ answer++ ; filled = empty + m -1; } }) return answer; } 문제해설 function solution(n, m, section) { var answer = 0; // 페인트를 몇번 칠했는지 // filled = 어디까지 칠했나 = 왼쪽에서부터 칠해진채로 연결된 섹션no. 없으면 0으로 시작 let filled = section[0]-1 ; section.forEac.. 2024. 3. 17.
[JS] 추억점수 _ 이걸 한줄로 쓴다고? 점수 :1092 (+1) 테스트케이스 최대 소요시간 : 1.57ms 문제 요약 // 제출답안 function solution(name, yearning, photo) { var answer = []; let miss = {}; name.forEach((n, index)=>{ miss[n] = yearning[index] }); photo.forEach((pho, index)=>{ let nowMissCount = 0; pho.forEach((member,index2)=>{ nowMissCount += (miss[member]) ? miss[member] : 0 ; }) answer[index] = nowMissCount; }) return answer; } 문제해설 function solution(nam.. 2024. 3. 13.
[JS] 가장 많이 받은 선물_충격적인 얕은 복사 점수 : 1091 (+7) 최대 소요시간 : 38.23ms 이게 진짜 코테문제였으면 풀다가 멘탈 터졌을 난이도 ^_ㅠ 왜 1단계인걸까 1. 시간 초과를 우려해서 너무 로직을 오래 고민한 점 2. 막상 계획을 다 짜놓고도 배열 순환이 중첩되면 마음이 불안해서 다시 고민한 점 이 두가지 때문에 거의 나흘을 풀었던 문제다. 막상 채점하기 누르니 금방 성공해버려서 놀람. 일단 주석으로 계획을 짜고 문제를 풀어버린 뒤 시간 절약을 고민해보자ㅜㅠ function solution(friends, gifts) { let max = 0; // 리턴할 최대값, 코테 상 answer let frhash = {}; // friend 배열을 hash화 friends.forEach((friend)=> frhash[friend] .. 2024. 3. 12.
[JS] 가장 가까운 같은 글자 테스트케이스 최대 소요시간 : 4.19ms 제출답안 function solution(s) { let sArr = [...s]; let answer = []; sArr.forEach((thing,index)=>{ let i; for(i = index-1 ; i > -1 ; i-- ){ if(thing == sArr[i]) { //일치하는 글자를 찾은 경우 //몇 칸 앞인지를(기준 문자 index - 확인 중인 문자 index) answer에 넣고 for문 종료 answer.push(index-i) ; break; }; } if(i < 0 ) answer.push(-1); // 일치하는 글자가 없는 채로 for문이 종료 된 경우 }) return answer; } 문제를 다 풀고 나서, 문자열 s를 배열로 .. 2024. 3. 10.
[JS] 삼총사 (프로그래머스) 테스트케이스 최대 소요시간 : 0.22ms 제출답안 function solution(number) { // 1번째 학생은 배열 앞부분부터 배열의 뒤에서 세번째까지 돈다.(2번째와 세번째 학생의 자리)(O O..O X X) // 2번째 학생은 1번 뒷자리부터 배열의 뒤에서 두번째까지 돈다. // 3번째 인간은 2번 뒷자리부터 배열의 맨 뒤까지 돈다. // 삼총사 조합을 찾을때마다 answer에 ++한다 var answer = 0; for(let a = 0 ; a < number.length-2 ; a++){ for(let b= a+1 ; b < number.length-1 ; b++){ let find = 0 - number[a] - number[b]; for( let c= b+1; c < number.l.. 2024. 3. 8.
728x90