본문 바로가기

Algorithm272

[ 자바스크립트(JavaScript) ] 프로그래머스 level2 - 기능개발 📍 프로그래머스 2단계 - 기능개발 프로그래머스 2단계 - 기능개발 ⚡️ 나의 풀이 이 문제에서 제일 크게 거쳐야 하는 기능은 2가지로 나뉜다. 첫 번째는 progresses와 speeds 값을 이용해서 배포가 며칠이 소요되는지 구해야 하고, 두 번째는 배포 날짜를 모아둔 값에서 제일 처음부터 배포를 할 때 다음 값이 현재 배포 일 수보다 작으면 같이 배포되고, 더 크면 나중에 배포되는 cnt값을 구해야 한다. 내가 풀 때는 첫 번째까지는 무난하게 구했는데 두 번째 cnt를 구하는 방식이 좀처럼 떠오르지 않았다. 도저히 방법이 떠오르지 않아 다른 사람은 어떻게 풀었는지 봤는데, for문 안에 i, j를 동시에 선언하고 count를 한 게 너무 신기했다. 거기에 j는 전치연산자를 사용했는데, 전치연산자는 .. 2021. 10. 22.
[ 자바스크립트(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.
[ 강의 후기 ] 자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 김태원 (내돈내산) 📍 [ 강의 후기 ] 자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 김태원 ✏️ 서론 학부시절 JAVA를 잠깐 배웠지만 클래스가 뭐고 인스턴스가 뭔지 수업을 들어도 전혀 감을 잡지 못해 손에서 놔버렸다. 대학교 졸업 후 2년 4개월의 군 복무를 마치고 나서 5개월 뒤인 20. 12. 22부터 취업을 하겠다는 다짐과 함께 프로그래밍 관련 기억이 모두 삭제된 채 코딩 테스트를 준비했다. 그로부터 3~4개월이 지났을 때 프론트엔드로 가려면 코딩 테스트의 언어로는 python 보다 이제부터 평생 달고 살아야 할 javascript로 해야겠다는 마음을 먹었다. python으로 공부를 하면서 2~3개 정도 스타트업의 코딩 테스트를 치렀는데 모두 python은 지원이 되지 않고 JS로만 응시가 가능했다. JS로.. 2021. 10. 15.