본문 바로가기
반응형

Algorithm45

Level2. 프로그래머스 소수 만들기- JavaScript 접근 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 숫자 3개를 더해 그게 소수인지 판별하는 문제이다. 그래서 전체적인 흐름은 배열안에 숫자 3개를 더하고 이게 에라토스테네스의 체에서 소수인지 확인 하면 끝이다. 더 자세히 짚어보면 [1,2,3,4]가 있을 때 1,2,3 / 2,1,3 / 3,1,2는 서로 다른 순서이지만 결국 이들을 합하게 되면 모두 같은 6이므로 순서를 신경쓰며 조합을 만들 필요는 없다. 따라서 [1,2,3,4]로 만들 수 있는 조합의 개수는 1,2.. 2020. 7. 9.
Level2. 프로그래머스 예상 대진표- JavaScript 예상 대진표 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다. 이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 .. 2020. 7. 9.
Level2. 프로그래머스 [1차] 뉴스 클러스터링- JavaScript [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 카카오 신입 개발자 공채 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. 코딩 실력만 본다 카카오 코딩 능력만으로 2018 신입 개발자 뽑는다 기사의.. 2020. 7. 9.
Level2. 프로그래머스 [1차] 프렌즈4블록- JavaScript 접근 우선 board에서 2x2를 만족하는 모든 것을 확인 후 삭제 사라진 공간을 채우고 다시 반복 이 과정을 삭제되는 것이 없을 때 까지 진행 전체 적인 흐름도는 위와 같았다. 그렇다면 여기서 board에서 2x2를 만족하는 모든 것을 어떻게 판별할 것인가. 어떤 행,열의 값과 주변 3개의 값이 같으면 2x2에 만족하게 된다. 하지만 2차원 배열에서 맨위 맨왼쪽부터 시작하게 된다면 해당 값의 오른쪽과 아래쪽 그리고 오른쪽 아래쪽을 비교하고 같으면 2x2에 만족하게 된다. 예를 들어 행열이 다음과 같이 있다고 했을 때 행열 [0][0]의 값은 a이고 [0][1]과 [1][0] 그리고 [1][1]이 모두 a이면 2x2행열에 만족한다. 하지만 바로 삭제하게 되면 board[0][1]에서 새로 비교를 할 수가.. 2020. 7. 8.