본문 바로가기
반응형

분류 전체보기706

[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.
[알고리즘] 유클리드 호제법(Uclidean algorithm) by javascript - 최대공약수 / 최소공배수 구하기 알고리즘 최대 공약수를 구하는 알고리즘인 유클리드 호제법에 대해 알아보자. 그리고 추가적으로 최소공배수까지 구하는 방법 역시 알아보자. 1. 최대공약수 구하기 우선 최대공약수란 두 수의 공통인 약수(공약수) 중에서 가장 큰 수를 최대공약수라고 부른다. 유클리드 호제법의 원리를 다음과 같이 설명한다. 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a> b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 무슨 소리인지 모르겠지만 일단 원리를 따라가보면 두 수(a, b)가 주어지고 이 둘을 나눈 나머지를 구하라는 의미 같다. 예를 들어 1071 과 1029 주어 졌다면 다음과 같은 원리를 따른다. (1071은 1029로 나누어 떨어지지 않기 때문에 둘을 나눈 나머지를 .. 2022. 4. 20.
[Codility] MinPerimeterRectangle (Easy) by javascript - AVAILABLE LESSONS 10 ▷ 문제 : AVAILABLE LESSONS 10 - MinPerimeterRectangle (Easy) MinPerimeterRectangle coding task - Learn to Code - Codility Find the minimal perimeter of any rectangle whose area equals N. app.codility.com ▷ 해결 날짜 : 2022.04.20 ▷ 소요 시간 : 10분 ▷ 풀이 과정 : 면적이 매개변수로 주어지면 면적이 N인 직사각형의 최소 둘레를 찾는 문제이다. 예제를 보면 직사각형의 각 변은 약수의 집합으로 볼 수 있어서 이전 문제와 동일하되 수정만 조금 해주면 된다. ▷ 구현 function solution(N) { return getDivisor.. 2022. 4. 20.
[Codility] CountFactors (Easy) by javascript - AVAILABLE LESSONS 10 ▷ 문제 : AVAILABLE LESSONS 10 - CountFactors (Easy) CountFactors coding task - Learn to Code - Codility Count factors of given number n. app.codility.com ▷ 해결 날짜 : 2022.04.20 ▷ 소요 시간 : 10분 ▷ 풀이 과정 : 그냥 단순하게 주어진 값의 약수를 구하는 문제로 보였다. 게시글 카테고리 중에 약수 알고리즘 게시글이 있는데 그것만 알면 손쉽게 해결할 수 있는 문제이다. ▷ 구현 function solution(N) { return getDivisors(N); } const getDivisors = (num) => { let count = 0; for(let i = 1 ; i 2022. 4. 20.
[Codility] MaxSliceSum (Easy) by javascript - AVAILABLE LESSONS 9 ▷ 문제 : AVAILABLE LESSONS 9 - MaxSliceSum (Easy) MaxProfit coding task - Learn to Code - Codility Given a log of stock prices compute the maximum possible earning. app.codility.com ▷ 해결 날짜 : 2022.04.20 ▷ 소요 시간 : 20분 ▷ 풀이 과정 : 같은 카테고리에 묶여있어서 그런지 이전 문제와 동일하게 풀 수 있다. ▷ 구현 function solution(A) { let [sum, max] = [A[0], A[0]]; for(let i = 1 ; i < A.length; i++) { sum = Math.max(A[i], sum + A[i]); max .. 2022. 4. 20.
[Codility] MaxProfit (Easy) by javascript - AVAILABLE LESSONS 9 ▷ 문제 : AVAILABLE LESSONS 9 - MaxProfit (Easy) MaxProfit coding task - Learn to Code - Codility Given a log of stock prices compute the maximum possible earning. app.codility.com ▷ 해결 날짜 : 2022.04.20 ▷ 소요 시간 : 40분 ▷ 풀이 과정 : 처음에는 이중 반복문을 사용하려다가 무조건 효율성에서 걸릴 거 같아서 좀 더 고민을 해보았다. 그래서 내가 이전에 풀었던 문제 Lesson 8 EquiLeader 문제에서 leader와 max값을 구한 것처럼 특정 값을 저장해 놓고 계속 비교 후 교체해가면서 문제를 풀면 좋을 것 같아 그렇게 방향을 잡고 구현을 .. 2022. 4. 20.
[Codility] EquiLeader (Easy) by javascript - AVAILABLE LESSONS 8 ▷ 문제 : AVAILABLE LESSONS 8 - EquiLeader (Easy) EquiLeader coding task - Learn to Code - Codility Find the index S such that the leaders of the sequences A[0], A[1], ..., A[S] and A[S + 1], A[S + 2], ..., A[N - 1] are the same. app.codility.com ▷ 해결 날짜 : 2022.04.20 ▷ 소요 시간 : 1시간 30분 ▷ 풀이 과정 : 자꾸 효율성 부분에서 0점이 나와 시간이 걸렸다. 이 문제는 Lesson 8 Leader 문제답게 리더로 두 그룹을 나누고 그 리더가 같은지 확인하는 것이다. 우선 첫 번째로 리더를 먼저 .. 2022. 4. 20.
반응형
TOP