본문 바로가기

코딩테스트25

[MySQL] 한 해에 잡은 물고기 수 구하기 문제 1. FISH_COUNT 테이블에서 날짜 형식의 TIME 컬럼의 년도가 2021인 데이터의 갯수를 구함 2. 행의 고유값은 ID 컬럼 SELECT COUNT(ID) AS FISH_COUNT -- ID 컬럼을 기준으로 COUNT, 컬럼명 FISH_COUNT FROM FISH_INFO WHERE YEAR(TIME) = '2021' 너무 단순해서 약간 당황.. 2024. 3. 23.
[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] 가장 가까운 같은 글자 테스트케이스 최대 소요시간 : 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.20ms 문제 요약 //1초에 x만큼 회복하고, t를 채우면 y가 추가됨 bandage = [시전시간 t, 초당회복력x, 추가회복량 y] health = 최대체력 attacks = [ [공격시간,피해량], [공격시간, 피해량] ...] 제출답안 function solution(bandage, health, attacks) { let nowhealth = health - attacks[0][1]; if (nowhealth health) ? health : nowhealth; nowhealth -= attacks[i][1]; if (nowhealth 2024. 3. 1.
728x90