본문 바로가기

programmers13

[ 자바스크립트(JavaScript) ] 프로그래머스 level1 - 모의고사 📍 프로그래머스 1단계 - 모의고사 프로그래머스 1단계 - 모의고사 ⚡️ 나의 풀이 풀이 방식을 떠올리는 게 조금 어려웠다. 각각의 수포자들이 찍는 방식에는 일정한 패턴이 있었고, 이 패턴을 어떤 방식으로 활용할지 생각하는 게 큰 관건이었다. 결론적으로 answer의 index와 각각 수포자들의 i % 패턴.length 으로 확인했다. 각각의 수포자들의 반복되는 패턴을 mathGiveUpMethod에 담아둔다. 가장 많이 문제를 맞힌 사람을 알기 위해 수포자의 인원만큼(3) 0으로 배열을 선언한다. answer 반복문을 돌면서 현재 answer[i]와 각각의 수포자의 패턴을 비교하여 동일한지 다른지 확인한다. 여기서 i%5, i%8, i%10을 한 이유는 만약, answer의 length가 mathGiv.. 2021. 10. 21.
[ 자바스크립트(JavaScript) ] 프로그래머스 level2 - 프린터 📍 프로그래머스 2단계 - 프린터 프로그래머스 2단계 - 프린터 ⚡️ 나의 풀이 스택/큐를 이용한 문제인데, 중요도에 따라 출력해야 하는 문서가 달라지므로 주의한다. location과 동일한 index를 쉽게 찾기 위해 index 배열을 새로 만들어 priorities.length만큼 index의 값을 주었다. priorities의 max값을 찾는다. priorities[0]값과 max가 동일한지 확인한다.(중요도가 가장 높은 문서인지 확인하는 작업) max값과 동일하면 shift시키는데, 이때 location이랑 동일한지도 확인한다. priorities[0]값과 max가 동일하지 않으면 나머지 목록 중 중요도가 높은 문서가 있으므로 제일 뒤로 보낸다. arr.push(arr.shift()) functi.. 2021. 10. 19.
[ 자바스크립트(JavaScript) ] 프로그래머스 level2 - 짝지어 제거하기 📍 프로그래머스 2단계 - 짝지어 제거하기 프로그래머스 2단계 - 짝지어 제거하기 ⚡️ 나의 풀이 이전에 한 스타트업의 FE 코딩 테스트를 치렀을 때 지금 문제와 비슷하게 출제되었다. 이 문제의 핵심은 같은 알파벳이 2개 붙어있는 짝을 어떻게 찾는지가 핵심인데, 결론적으로 스택(stack)을 이용해서 짝을 찾았다. 현재 stack이 비어있지 않고, stack[-1]이 현재 x와 같으면 stack의 제일 마지막 원소를 pop한다. (짝지어진 문자열이기 때문) 1번 조건에 충족하지 않으면 모두 stack에 넣는다. 주어진 문자열을 끝까지 탐색하고 남은 stack의 길이가 1보다 크면 짝지어 제거에 실패했기 때문에 0을 stack의 길이가 0이면 짝지어 제거에 성공했기 때문에 1을 리턴한다. function .. 2021. 10. 18.