본문 바로가기

프로그래머스 42

[프로그래머스] 이진 변환 반복하기 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr [ 아이디어 ] 1레벨인데 오랜만에 풀겸 그리고 프로그래머스의 불편함으로 잠깐 글을 적는다. 아이디어는 아래의 로직을 반복하면 된다. [ 코드 ] function solution(s) { let zeroCount = 0; let transformCount = 0; while (s > 1) { let temp = s.length; s = s.replace(/0/g, ""); zeroCount += temp - s.length; s = s.length.toString(2); transformCount++; } return [transformCount, zeroCount]; } 원래라면 replaceAll를 써서 할수가 .. 2021. 12. 6.
[프로그래머스] 땅따먹기 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr [ 아이디어 ] 완전 탐색 기법으로 푼다 색다른 로직을 활용해 푼다. [ 코드 ] 1. 완전 탐색 기법으로 푼다. 아이디어의 경우 갈 수 있는 모든 경로를 사전에 생성하고 하나씩 비교하면서 가장 큰 값을 찾는 로직입니다. permutation을 이용해 모든 경로를 생성하고 availPath 함수를 통해 갈 수 있는 경로만 최대값을 계산합니다. 테스트는 통과했지만 실행결과 시간초과가 뜨고 말았습니다. function solut.. 2021. 9. 3.
[프로그래머스] 행렬의 곱셈 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr [ 아이디어 ] 일단 answer 배열에 크기에 맞게 0으로 초기화 2중 for문으로 돌고 각 행렬의 곱셈은 배열 메소드 체이닝을 통해 처리 [ 코드 ] function solution(arr1, arr2) { var answer = Array.from(Array(arr1.length), () => Array(arr2[0].length).fill(0)); for (let i = 0; i < arr1.length; i++) { for (let j.. 2021. 8. 30.
[프로그래머스] 2018 KAKAO > 뉴스 클러스터링 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr [ 아이디어 ] 대소문자를 구별하지 않는 조건을 위해 소문자로 전체 문자열 변경 각각의 문자열에서 2개씩 읽어가면서 조건 "알파벳으로만 이루어짐"에 따라 정규식만들고 아닌것은 쳐냄(각각 A, B 집합) 자카드 유사도를 위해 합집합과 교집합을 구하는데, A 기준으로 B에도 있는건 교집합(Intersection), 그리고 B에서 제거 자카드 유사도 식 ( 교집합 / 합집합)에 넣고 처리. [ 코드 ] function solut.. 2021. 8. 30.