본문 바로가기
반응형

Algorithm73

[프로그래머스] 124 나라의 숫자(LV.2) by javascript - 연습문제 ▷ 문제 : 연습문제 - 124 나라의 숫자 LV.2 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr ▷ 해결 날짜 : 2022.05.13 ▷ 소요 시간 : 30분 ▷ 풀이 과정 : 문제가 매우 심플하다. 124라는 숫자만 사용할 수 있으며, 특정 숫자를 입력받았을 때 124라는 숫자만 사용하여 표출하면 된다. 1 > 1, 2 > 2, 3 > 4, 4 > 11, 5 > 12, 6 > 14 7 > 21 간단해보여도 이 문제는 효율성을 체크하는 문제라 규칙을 찾아서 푸는 게 중요하다. 결국 규칙은 124 3개의 숫자로 이루어져 있기 때문에 숫자 3을 가지고 규칙을 찾을 수가 있는데, 나머지와 몫을 가지고 문제를 풀 수 있다. ▷ 구현 function solution(n) { let a.. 2022. 5. 13.
[프로그래머스] 스킬트리(LV.2) by javascript - Summer/Winter Coding(~2018) ▷ 문제 : Summer/Winter Coding(~2018) - 스킬트리 LV.2 코딩테스트 연습 - 스킬트리 programmers.co.kr ▷ 해결 날짜 : 2022.05.13 ▷ 소요 시간 : 30분 ▷ 풀이 과정 : 아래와 같은 입력이 주어진다고 한다. skill skill_trees return "CBD" ["BACDE", "CBADF", "AECB", "BDA"] 2 skill_trees중에서 배울 수 있는 skill_tree의 개수를 반환하면 되는 문제다. skill의 대상이 아닌 것들은 순서가 상관없고 skill의 대상이면 skill순서대로 스킬을 배워야 한다. 여기서 중요한 제한 조건은 스킬이 중복해 주어지지 않습니다. 라는 제한 조건이다. 결국 순서라는 게 있기 때문에 정규표현식을 쓰.. 2022. 5. 13.
[Codility] CountNonDivisible (Medium) by javascript - AVAILABLE LESSONS 11 ▷ 문제 : AVAILABLE LESSONS 11 - CountNonDivisible (Medium) CountNonDivisible coding task - Learn to Code - Codility Calculate the number of elements of an array that are not divisors of each element. app.codility.com ▷ 해결 날짜 : 2022.04.25 ▷ 소요 시간 : 1시간 ▷ 풀이 과정 : LESSONS 11이 에라토스테네스의 체 라는데, 이 문제가 그거랑 무슨 상관인지 전혀 모르겠다. 일단 이 문제는 주어진 배열 [3, 1, 2, 3, 6] 에서 각 인덱스에 해당하는 값의 약수가 아닌 것들의 수를 구해주면 된다. 예를 들어 0번 인.. 2022. 4. 25.
[HackerRank] Bigger is greater (Medium) by javascript ▷ 문제 : Bigger is greater (Medium) Bigger is Greater | HackerRank Rearrange the letters of a string to construct another string such that the new string is lexicographically greater than the original. www.hackerrank.com ▷ 해결 날짜 : 2022.04.21 ▷ 소요 시간 : 1시간 30분 ▷ 풀이 과정 : 반환값으로 주어진 문자열의 다음으로 사전순으로 높은 문자열 또는 no answer을 출력하면 되는 문제다. 예를 들어 abcd 가 주어졌다면 출력으로 abdc를 반환해야한다는 의미이다. 몇가지 주의사항이 있는데, 1. 원래 단어보다 .. 2022. 4. 22.
[HackerRank] Sales by Match (Easy) by javascript ▷ 문제 : Sales by Match (Easy) Sales by Match | HackerRank How many pairs of socks can Alex sell? www.hackerrank.com ▷ 해결 날짜 : 2022.04.22 ▷ 소요 시간 : 15분 ▷ 풀이 과정 : 양말 목록 중에 짝이 맞는 개수를 찾는 건데,그냥 개수 세주고 / 2 해주면 끝난다. ▷ 구현 function sockMerchant(n, ar) { // Write your code here const map = new Map(); ar.forEach(key => { map.set(key, map.has(key) ? map.get(key) + 1 : 1); }); let pair = 0; for(const [key, va.. 2022. 4. 22.
[HackerRank] Picking Numbers (Easy) by javascript ▷ 문제 : Picking Numbers (Easy) Picking Numbers | HackerRank What's the largest size subset can you choose from an array such that the difference between any two integers is not bigger than 1? www.hackerrank.com ▷ 해결 날짜 : 2022.04.21 ▷ 소요 시간 : 20분 ▷ 풀이 과정 : 모든 요소들의 절대 편차가 1보다 같거나 작아야 하는 경우의 배열 길이를 반환하는 문제이다.당연히 배열에는 여러 숫자들이 배치되어 있는데 거기서 골라서 뽑아내야 하는 문제다. 하지만 절대편차가 { arr[v]++; }); let result = 0; for.. 2022. 4. 21.
[HackerRank] Electronics Shop (Easy) by javascript ▷ 문제 : Electronics Shop (Easy) Electronics Shop | HackerRank Determine the most expensive Keyboard and USB drive combination one can purchase within her budget. www.hackerrank.com ▷ 해결 날짜 : 2022.04.21 ▷ 소요 시간 : 40분 ▷ 풀이 과정 : 문제를 보자마자 아 이문제는 이중 반복문이면 바로 해결이 가능하겠구나 싶었으나, 이중 반복문을 사용하게 되면 O(n²)의 시간 복잡도를 가지게 된다. 그래서 반복문 한번으로 풀 수 없을까 하다가 while문을 돌리게 됐는데... 다 풀고나니 이게 과연 O(n) 시간 복잡도가 맞는지도 의문이다... 괜히 시간만.. 2022. 4. 21.
[HackerRank] Counting Valleys (Easy) by javascript ▷ 문제 : Counting Valleys (Easy) Counting Valleys | HackerRank Count the valleys encountered during vacation. www.hackerrank.com ▷ 해결 날짜 : 2022.04.21 ▷ 소요 시간 : 20분 ▷ 풀이 과정 : 문제는 계곡을 몇 번이나 지상에서 들어갔냐를 구하는 건데, 문제에서는 산과 계곡을 왔다 갔다 한다. 계곡을 간 횟수를 카운팅 하는 건 지상에서 내려갈 때만 카운팅을 하는 거라 어떻게 구분 값을 줄지만 고민해주면 된다. 그래서 그냥 산, 땅, 계곡 이렇게 세분류로 나눠서 계속해서 비교해 카운팅 해주었다. ▷ 구현 function countingValleys(steps, path) { // state : .. 2022. 4. 21.
[HackerRank] Drawing Book (Easy) by javascript ▷ 문제 : Drawing Book (Easy) Drawing Book | HackerRank How many pages does a student need to turn to get to page p? www.hackerrank.com ▷ 해결 날짜 : 2022.04.21 ▷ 소요 시간 : 20분 ▷ 풀이 과정 : 문제가 너무 쉬웠으나, 단순 반복문으로 풀기 싫어서 고민을 좀 해봤다. 문제는 매개변수로 마지막 페이지 넘버와, 사용자가 원하는 페이지 넘버가 주어지고 그럴 경우 앞에서부터 원하는 페이지로 넘기거나 뒤에서부터 원하는 페이지까지 넘겼을 때 적은 횟수로 넘기는 방법을 찾는 것이다. 그림 이미지가 주어지는데 진짜 그냥 책을 생각하면 된다. 책을 펼치면 왼쪽 오른쪽 두 페이지가 존재하는데, 이 성질.. 2022. 4. 21.
반응형
TOP