개발 공부/알고리즘 문제 풀이 36

[프로그래머스] [3차] n진수 게임

문제 프로그래머스 2018 KAKAO BLIND RECRUITMENT [3차] n진수 게임 https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0� programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 문자열 str에 n진수로 변환한 숫자를 문자열로 변환하여 더한다. 이때 문자열 길이가 t*m이 될 때까지 변환한 문자열을 더한다. 문자열의 모든 문자들 중에 p 번째만 따로 뽑아서 새로운 문자열에 더한다...

[프로그래머스] 오픈채팅방

문제 프로그래머스 2019 KAKAO BLIND RECRUITMENT 오픈채팅방 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 언어 자바스크립트(JavaScript) 접근방법 aciontList은 Action은 유저 행동, Id는 유저 아이디인 객체로 이루어진 배열이다. nickObj은 유저 아이디를 key, 유저의 최근 닉네임을 value로 가지는 객체이다. record를 차례로 탐색한다. 행동이 Ente..

[프로그래머스] [1차] 캐시

문제 프로그래머스 2018 KAKAO BLIND RECRUITMENT [1차] 캐시 https://programmers.co.kr/learn/courses/30/lessons/17680 코딩테스트 연습 - [1차] 캐시 3 [Jeju, Pangyo, Seoul, NewYork, LA, Jeju, Pangyo, Seoul, NewYork, LA] 50 3 [Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul] 21 2 [Jeju, Pangyo, Seoul, NewYork, LA, SanFrancisco, Seoul, Rome, Paris, Jeju, NewYork, Rome] 60 5 [Jeju, Pangyo, S programmers.co.kr ..

[프로그래머스] [1차] 프렌즈4블록

문제 프로그래머스 2018 KAKAO BLIND RECRUITMENT [1차] 프렌즈4블록 https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙�� programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 board를 2차원 배열로 변환한다. 2차원 배열로 변환한 배열 myBoard와 이 배열을 복사한 newBoard를 생성한다. myBoard를 기준으로 x=i, y=j 좌표가 삭제 가능한지 모두 확인..

[프로그래머스] [1차] 뉴스 클러스터링 (JavaScript)

문제 프로그래머스 2018 KAKAO BLIND RECRUITMENT [1차] 뉴스 클러스터링 https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브�� programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 두 문자열 모두 두 글자씩 잘랐을 때 영문자 쌍이 아니면 버리고 영문자 쌍이라면 소문자로 바꾸어 새로운 배열에 넣는다. 새로운 배열을 arr1, arr2이라고 한다. 합집합은 arr1 배열에서 ..

[프로그래머스] 튜플 (JavaScript)

문제 프로그래머스 2019 카카오 개발자 겨울 인턴십 튜플 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{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 언어 자바스크립트(JavaScript) 접근 방법 input 문자열을 분리하여 배열의 배열의 형태로 변환한다. 크기 순으로 배열을 정렬한다. 첫 번째 배열의 요소를 answer에 저장한다. 다음 배열의 요소 중에 answer에 없는 요소를 찾고 answ..

[프로그래머스] [3차] 압축 (JavaScript)

문제 프로그래머스 2018 KAKAO BLIND RECRUITMENT [3차] 압축 https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 key라는 객체를 정의하고 단어를 key, 색인 번호를 value로 설정한다. msg 문자열에서 i 번째 문자열을 w로 i+1 번째 문자열을 c로 두고 재귀 함수를 실행한다. 재귀 함수에서 w+c가 사전에 있으면 그 w+c를 w로 두고 c를 그다음 단어..

[프로그래머스] 괄호 변환 (JavaScript)

문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT 괄호 변환 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 변환 과정을 그대로 따르도록 코드를 작성한다. 변환 과정은 재귀적인 과정이다. 이때 과정을 실행할 문자열과 정답으로 출력할 문자열을 입력으로 받는 재귀 함수를 이용한다. 처음 문자열을 균형 잡힌 괄호 문자열 u, v로 분리한다. u는..

[프로그래머스] [3차] 방금그곡 (JavaScript)

문제 프로그래머스 2018 KAKAO BLIND RECRUITMENT [3차] 방금 그 곡 https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, �� programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 m과 musicinfos의 악보 정보 문자열의 모든 문자를 #이 존재하지 않는 문자로 변환한다. 이는 나중에 포함 여부를 확인할 때 더 간단하게 확인하기 위함이다. 각 음악에서 총 재생한 시간을 구하고 그..

[프로그래머스] 문자열 압축 (JavaScript)

문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT 문자열 압축 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 1부터 문자열 크기의 절반 개수까지인 i개 단위로 모두 압축해본다. j는 i부터 시작하는데, j-i부터 i개의 문자와 j부터 i개의 문자가 같으면 압축이 가능하다. 압축이 가능하면 카운터를 1 증가시킨다. 만약 압축이 안된다면..