JavaScript 32

[프로그래머스/Javascript] Lv.1 덧칠하기

https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 1. 현재 벽 위치(currentIndex)를 선언해두고 칠해야 하는 벽(section)을 순회하면서 현재 위치가 칠해야 하는 벽의 인덱스보다 작거나 같다면 nextWall은 칠해야 하는데 안 칠해진 벽이라고 판단하고 m만큼 칠한 후의 위치를 다시 저장하고 카운트 추가2. 모든 칠해야 하는 벽을 체크한 후 최종 카운트 반환 ✓ 최종코드function solution(n, m, section) { let answer = 0; let ..

[프로그래머스/Javascript] Lv.1 옹알이

https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 1. 한 단어의 알파벳 하나씩 확인하면서 임시 변수(temp)에 추가 저장2. 말할 수 있는 단어에 temp가 포함되어 있다면 연속으로 같은 단어를 방지하기 위해 before에 기억해두고 temp를 초기화3. 한 단어의 모든 알파벳을 확인했을 때 temp에 남아있는 알파벳이 없을 때만 말할 수 있는 단어로 판단하여 개수 카운트 function solution(babbling) { let answer = 0; let canSayWord..

[프로그래머스/Javascript] Lv.1 대충 만든 자판

https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 1. 전달되는 keymap을 알파벳 하나씩 순회하며 Map에 (alphabet, index) 형태로 저장하는데 중복되는 알파벳이면 더 적은 index로 다시 저장해서 알파벳별로 최소 index를 저장2. targets를 돌면서 1에서 저장해둔 알파벳의 index를 찾아서 합산하여 저장하는데 이 값이 0이라면 -1을 저장 ✓ 최종코드function solution(keymap, targets) { let answer = []; let..

[프로그래머스/Javascript] Lv.1 문자열 나누기

https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 1. 하나의 문자를 저장하고 이 문자의 개수와 이 문자와 다른 문자의 개수가 일치하면 카운트 하나 추가하고 다음 새로운 문자 저장2. 문자열의 길이만큼 1번을 반복하고 마지막에 하나의 카운트로 계산되지 않는 문자열이 남으면 카운트 하나 추가 function solution(s) { let answer = 0; let str = ""; let thisStrCnt = 0; let diffStrCnt = 0; for (let i = ..

[프로그래머스/Javascript] Lv.1 둘만의 암호

https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 1. 전달받은 문자열(sIdx)과 건너뛸 문자열(skipIdx)을 코드값으로 변환하여 저장2. skipIdx 배열을 순회하며 하나의 코드마다 index만큼 +1 씩 추가하는데만약 건너뛸 코드값을 만난다면 index를 하나씩 늘려가며 건너뛴 문자를 제외하고 index값 만큼 증가3. 다시 코드를 문자열로 변환하여 반환 알파벳 배열을 저장해서 푸는 방법도 있지만 js에서 문자 ↔ 코드 변환해주는 메서드를 사용해서 풀어보게 되었습니다z 를 넘..

[프로그래머스/Javascript] Lv.1 2016년

https://school.programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 2016년 1월 1일 금요일 윤년이라는 제시 조건을 가지고 n월 n일이 어떤 요일인지 출력하면 되는 문제였습니다윤년에 해당하는 2016년만 고려해서 구현하면 되지만 다른 윤년/평년에 적용해도 돌아가는 코드로 구현했습니다 1. 각 월별 일자를 계산해서 1월 1일부터 12월 31일까지 순회하며 요일은 금요일 시작으로 함께 반복하며 전달받은 날짜와 일치하면 현재 요일을 반환합니다 참고. 월별 일수 계산과 윤년 계산 방법 윤년 계산 조건윤년: 2..

[프로그래머스/Javascript] Lv.1 공원 산책

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 처음 시도한 풀이과정은 아래와 같습니다 1. 전달받은 park에서 width, height를 구하고 S의 좌표를 [y, x] 형태로 저장합니다.2. routes 를 순회하며 1에서 저장했던 현재의 좌표에서 해당 방향으로 거리만큼 이동하는데공원 크기를 넘어가거나, X를 발견하면 이동하지 않고, 조건을 통과하면 현재의 좌표를 이동한 좌표로 저장합니다 function solution(park, routes) { let answer = []; let w = park[0].length; let h = park.length; m: for (let i = ..

[프로그래머스/Javascript] Lv.1 완주하지 못한 선수

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 참여선수 배열과 완주선수 배열을 비교해서 남는 한명의 선수를 찾으면 되는 문제였습니다 1. sort 메서드 사용하여 참여선수, 완주선수 이름순으로 정렬2. 하나씩 순회하면서 동일하면 넘어가고 다른 이름을 발견하면 해당 이름이 정답 ✓ 최종코드function solution(participant, completion) { let answer = ""; participant.sort(); completion.sort(); for (let i = 0; i

[프로그래머스/Javascript] Lv.1 모의고사

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정 처음 시도했던 풀이과정은 다음과 같습니다 1. 수포자별로 찍는 방식에 따라 문제 정답을 문제 길이만큼 반복해서 개별로 저장2. 문제를 순회하며 수포자 개별 정답 개수 체크3. 가장 높은 정답 개수를 찾고, 해당 정답 개수와 동일하게 맞은 수포자를 최종 결과 배열에 저장 function solution(answers) { let answer = []; let score = new Map([ [1, 0], [2, 0], [3, 0], ]); let maxScore = 0; let firstPattern = [1, 2, 3, 4, ..

[프로그래머스/Javascript] Lv.1 햄버거 만들기

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ✓ 풀이과정function solution(ingredient) { let answer = 0; let findNewHamburder = true; while (findNewHamburder) { findNewHamburder = false; for (let i = 0; i 처음으로 접근했던 방식은 아래와 같습니다 1. ingredient 배열을 순회하며 햄버거의 첫 단계인 1을 발견하면 index, index+1, index+2, index+3 번째를 확인해서 햄버거 하나 [1, 2, 3, 1] 를 발견2. 햄버거를 발견하면 완성된 햄버거 부분..