프로그래머스(9)
-
[Programmers 알고리즘][86971] 9주차_전력망을 둘로 나누기
문제 설명 Programmers Weekly Challenge 9 week 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어지며, n개의 송전탑이 하나의 트리 형태로 연결되어 있습니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 2 이상 100 이하인 자연수입니다. wires는 길이가 n-1인 정수형 2차원 배열입니다. wires의 각 원소는 [v1, v2] 2개의 자연수로 이루어져 있으며, 이는 전력망의 v1번 송전탑과 v2번 송전탑이 전선으로 연결되어 있다는 것을 의미합니다. 1 ≤ v1 < v2 ≤ n 입니다. 전력..
2021.10.18 -
[Programmers 알고리즘][42889] 실패율
문제 설명 level 1 2019 KAKAO BLIND RECRUITMENT 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함수를 완성하라. 실패율: 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 제한사항 스테이지의 개수 N은 1 이상 500 이하의 자연수이다. stages의 길이는 1 이상 200,000 이하이다. stages에는 1 이상 N + 1 이하의 자연수가 담겨있다. 각 자연수는 사용자가 현재 도전 중인 스테이지의 번호를 나타낸다. 단, N + 1 은 마지막..
2021.05.03 -
[Programmers 알고리즘][77484] 로또의 최고 순위와 최저 순위
문제 설명 level 1 2021 Dev-Matching: 웹 백엔드 개발자(상반기) 구매한 로또 번호를 담은 배열 lottos, 당첨 번호를 담은 배열 win_nums가 매개변수로 주어집니다. 이때, 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 알아볼 수 없는 번호를 0으로 표기합니다. 순서와 상관없이, 구매한 로또에 당첨 번호와 일치하는 번호가 있으면 맞힌 걸로 인정됩니다. 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 제한사항 lottos는 길이 6인 정수 배열입니다. lottos의 모든 원소는 0 이상 45 이하인 정수입니다. ..
2021.05.01 -
[Programmers 알고리즘][연습문제] 시저 암호 / [JavaScript] replace
문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 입출력 예 s n result "AB" 1 "BC" "z" 1 "a" "a B z" 4 "e F d" 문제풀이 처음에 풀었던 코드 1. split : 문자열의 문자들을 하나씩 조회하기 위해 분리 2. m..
2020.03.16 -
[Programmers 알고리즘][연습문제] 문자열 내 p와 y의 개수 / [JavaScript] 정규표현식 사용해서 문자 매칭 검색
쉬운 문제 이므로, 이번 문제 풀면서 익힌 프로토타입 먼저 작성하겠다. 배운 것 match()메서드는 문자열이 정규식과 매치되는 부분을 검색한다. 정규표현식의 flag 중 g 선언 여부에 따라 결과가 달라진다. "pPoooyY".match(/y/gi); 미포함 : 찾고자 했던 문자, 발견된 첫 위치, 전체 문자열을 찾아 리턴해줌 위의 결과 : [ 'y', index: 5, input: 'pPoooyY' ] 포함 : 문자열 전체 중 정규표현식에 해당 되는 모든 문자들을 담아 리턴해줌. 매치 되는게 없을 경우엔 null 위의 결과 : [ 'y', 'Y' ] 참고 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Stri..
2020.03.13 -
[Programmers 알고리즘][연습문제] 같은 숫자를 싫어 (p.s. 프로그래머스 후기)
이번 문제는 너무 쉬운데 왜 굳이 포스팅을 하는지 주저리 좀 떠들어 보고 싶다😅 그리고 백준 -> Programmers 이동기, 더불어 쉬운 문제 부터 다시 푸는 이유 및 느낀점에 대해 이야기 해보고자 한다. 해당 내용은 맨 아래에 작성 해두었으니 참고해주세요🧐 문제설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, ..
2020.03.12