DS & Algorithm/programmers

    [프로그래머스] 영어 끝말잇기 - 자바스크립트

    앞으로 알고리즘 문제에 대해서 문제 - 코드 - 풀이 순으로 포스팅을 할 예정이다. 문제 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 코드 function solution(n, words) { const voca = []; let ..

    [프로그래머스] 파일명 정렬 - 자바스크립트

    [프로그래머스] 파일명 정렬 - 자바스크립트

    문제 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 풀이 파일명이 다음과 같이 주어지며, Head, Number, Tail로 나뉜다. 조건을 나열해보면 1. Head를 기준으로 대소문자 구분을 하지 않고 사전순으로 정렬한다. 2. Head가 같다면 Number의 숫자 순으로 정렬한다. 0012와 12는 같은 값으로 처리되어야 한다. 3. Head, Number가 모두 같다면 원래 입력 순서를 유지한다. 이렇게 3가지이다. 입력으로 주어진 문자열에서 Head, Number를 발견하면 나머지는 Tai..

    [프로그래머스] 피보나치 수 - 자바스크립트

    문제 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr 풀이 간단한 문제지만 문제 조건을 유의해야 한다. n번째 피보나치 수를 1234567으로 나눈 나머지를 구하는 문제이다. 주어진 수 n은 1

    [프로그래머스] 튜플 - 자바스크립트

    [프로그래머스] 튜플 - 자바스크립트

    문제 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 풀이 입출력이 위와 같이 주어진다. 문제의 주요한 조건은 다음과 같다. 튜플은 중복된 원소가 있을 수 있지만, 이 문제에서는 중복되는 원소가 없는 튜플이 주어진다. 튜플 원소에는 정해진 순서가 있으며 개수가 유한하다. 위의 조건을 보면 튜플은 [2,1,3,4]로 정해져 있지만, 집합으로서 다양하게 표현할 수 있다. 또한 집합 내 원소들의 순서 또한 바뀌어도 상관이 없다. 이 조건들을 바탕으로 문제를 풀어보..

    [프로그래머스] 오픈 채팅방 - 자바스크립트

    문제 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 먼저 조건을 살펴본다. 채팅방 기록 record배열에는 Enter, Leave, Change 3개의 명령어가 존재한다. 유저는 아이디와 닉네임을 가진다. 아이디는 고유하다. 닉네임은 중복이 가능하며 변경도 가능하다. 모든 기록이 처리된 후, 최종적으로 방을 개설한 사람이 보게 되는 메시지를 문자열 배열 형태로 출력한다. 이 부분에서 볼 수 있듯이, 모든 기록을 먼저 처리를 하고 마지막에 모든 메시지들을 출력을 해줘야 한다. 기록을 처리하면서 함께 메시..

    [프로그래머스] 소수 찾기 - 자바스크립트

    문제 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 풀이 종이 조각이 있다. 종이 조각은 최소 1개, 최대 7개이며 0~9의 숫자로 이루어진다. "013" 은 0,1,3의 종이 조각이 있다는 의미이다. 풀이는 다음과 같다. 1. 종이 조각으로 만들 수 있는 모든 숫자를 만들고 2. 각 숫자들이 소수인지 판별하여 소수인 숫자 갯수를 출력한다. 종이 조각 "011"의 경우 "011" "11"을 같도록 취급해줘야 한다. 숫자를 만들 때 문자열이 아닌 숫자로 저장해주면 "011"은 11로 저장되므로,..