본문 바로가기

JavaScript33

프로그래머스 Level 1 - 완주하지 못한 선수 (Javascript) 문제 답안 function solution(participant, completion) { var answer = ''; //participant, completion 배열을 정렬한다. participant.sort(); completion.sort(); // participant와 completion의 i번째 값이 다를 때 반복문에서 탈출하고, participant의 i값을 출력 for(let i = 0; i < participant.length; i++){ if(participant[i] !== completion[i]){ answer = i; break; } } return participant[answer]; } 이 문제는 사실 해시로 구분돼 있지만, 내 머릿속에 생각난 풀이는 이거였다,,,, f.. 2023. 11. 25.
프로그래머스 Level 1 - 문자열 나누기 (Javascript) 문제 답안 function solution(s) { let x = 0; let countX = 0; let answer = []; // 0번째 글자와 i번째 글자가 같다면 countX를 더해준다. // 다르다면 countX를 빼주고, 만약 countX가 0이라면, 0부터 i까지 글자를 answer에 넣어준다. // 넣어주고, x는 i+1로 바꿔준 뒤에 다시 for문에 진입한다. for(let i = 0; i < s.length; i++){ if(s[i] === s[x])countX++; else countX--; if(countX === 0){ answer.push(s.substring(x,i+1)); x = i+1; } } // answer의 길이와 s의 길이가 같다면, answer의 길이를 출력하고,.. 2023. 11. 24.
프로그래머스 Level 1 - 햄버거 만들기 (Javascript) 문제 답안 function solution(ingredient) { var answer = 0; //ingredient의 i ~ i+3 번째 배열이 1,2,3,1이면 answer를 1 증가 //증가 후 배열의 1,2,3,1을 제거한다. //i를 i-4 해줌으로 제거된 후 이전 배열을 확인한다. (i-3으로 바꿔주면 for문 후에 i-2로 바뀌어버림) for(let i = 0; i < ingredient.length; i++){ if(ingredient[i] == 1 && ingredient[i+1] == 2 && ingredient[i+2] == 3 && ingredient[i+3] == 1){ answer++; ingredient.splice(i,4); i = i - 4; } } return answe.. 2023. 11. 23.
프로그래머스 Level 1 - 바탕화면 정리 (Javascript) 문제 답안 function solution(wallpaper) { // 답안에 들어갈 좌표계 생성 var answer = [0,0,0,0]; let arr = []; // wallpaper에서 '#'이 포함된 가장 마지막 값의 위치를 찾아 +1한 후 answer[2]에 넣어준다. // +1 해주는 이유는 드래그를 해서 포함시켜야 하기 때문임 for(let i = 0; i < wallpaper.length; i++){ if(wallpaper[i].includes('#')){ answer[2] = i+1; continue; } } // wallpaper에서 '#'이 포함된 가장 첫번째 값의 위치를 answer[0]에 넣어준다. for(let i = 0; i < wallpaper.length; i++){ if.. 2023. 11. 22.