본문 바로가기

자바스크립트10

[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] 크기가 작은 부분 문자열_ 자꾸 이렇게 쉬운 것만 풀어도 되는걸까 점수 : 1114 (+7) 테스트케이스 최대 소요시간 : 2.31ms 제출답안 function solution(t, p) { var answer = 0; // let plen = p의 길이를 찾음 //t에서 0~ t.length-p.length+1 중에서 for문으로 돌려서 // 작거나 같으면 answer++; for (let i = 0 ; i 2024. 3. 31.
[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] 가장 가까운 같은 글자 테스트케이스 최대 소요시간 : 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.
[JS] 푸드 파이트 대회 테스트케이스 최대 소요시간 : 0.07ms 제출답안 function solution(food) { let front = "" ; //앞부터 let back = "" ; //뒤에서부터 for(let i = 1 ; i < food.length ; i++){ // 문자열 i 를 수량/2 의 몫만큼 반복해서 입력 let string = (i+"").repeat(Math.trunc(food[i]/2)); front += string; back = string+back; } return front+"0"+back; } 이걸 더 짧게 back을 따로 만들지 않고, [...front].reverse().join('') 식으로 쓴 것을 보았다. 함수의 세계는 무궁무진. [...front] = front문자열을 한 글자씩.. 2024. 3. 7.
키보드 입력으로 이벤트 발생하기 [바닐라 자바스크립트] 목표 : 인터넷 화면에서 특정 키보드 입력을 받으면 이벤트를 발생시키도록 코드를 작성합니다 참고 : https://cpro95.tistory.com/249 참고한 블로그에 키 이벤트에 대해 굉장히 설명을 잘 해주셨는데, alt, ctrl, shift 등의 키 코드와 함께 정리해두면 좋을 것 같아 포스팅을 작성합니다. 먼저 키보드입력을 받을 때, 자바스크립트에서는 'a' 나 'ctrl' 로 명명하지 않고 특정한 숫자 값으로 인식합니다. 아래 표에서 각 키보드 버튼 별 숫자를 확인하세요 키보드 버튼 키보드 버튼 키보드 버튼 키보드 버튼 112 F1 9 Tab 65 A 96 0 113 F2 12 Clear 66 B 97 1 114 F3 13 Enter 67 C 98 2 115 F4 16 Shift 68 D 9.. 2022. 9. 1.
728x90