본문 바로가기
반응형

분류 전체보기706

[Codility] MaxProductOfThree(Easy) by javascript - AVAILABLE LESSONS 6 ▷ 문제 : AVAILABLE LESSONS 6 - MaxProductOfThree(Easy) MaxProductOfThree coding task - Learn to Code - Codility Maximize A[P] * A[Q] * A[R] for any triplet (P, Q, R). app.codility.com ▷ 해결 날짜 : 2022.04.15 ▷ 소요 시간 : 10분 ▷ 풀이 과정 : 배열 안의 숫자중에 3개씩 곱해서 나오는 가장 큰 값을 출력하면 되는 문제이다. 음수가 없으면 한줄이면 충분한데 음수가 포함되어있어 음수의 경우와 양수의 경우를 구해 최대값을 구해주는 방식으로 풀었다. ▷ 구현 function solution(A) { A.sort((a, b) => a - b); let m.. 2022. 4. 15.
[Codility] MaxCounters(Medium) by javascript - AVAILABLE LESSONS 4 ▷ 문제 : AVAILABLE LESSONS 4 - MaxCounters (Medium) MaxCounters coding task - Learn to Code - Codility Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum. app.codility.com ▷ 해결 날짜 : 2022.04.14 ▷ 소요 시간 : 1시간 ▷ 풀이 과정 : 사실문제는 그렇게 어렵지 않다. 코드 리티 특성상 영문으로 된 문제를 해석해보면 배열의 크기 N이 주어지고 두 번째로 규칙이 들어간 숫자로 이루어진 A 배열이 주.. 2022. 4. 14.
[프로그래머스] 가장 먼 노드(LV.3) by javascript - 그래프 ▷ 문제 : 그래프 - 가장 먼 노드 LV.3 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr ▷ 해결 날짜 : 2022.04.12 ▷ 소요 시간 : 30분 ▷ 풀이 과정 : 그래프 모양이 주어지고, 1번 노드부터 시작해서 가장 멀리 떨어진 노드의 개수를 구하는 문제이다. 그래프를 우선 그리고, 방문 체크 겸 거리를 저장할 배열을 만들어두고 탐색을 구현하였다. ▷ 구현 function solution(n, edge) { const graph = Array.from(Array(n + 1), () => []); for (const [from, to] of edge){ graph[fr.. 2022. 4. 12.
[알고리즘] 정렬 알고리즘(2) by javascript - Merge(병합/합병) * 정렬의 동작 원리는 아래 사이트를 통해 보면 이해하기 쉽다. https://visualgo.net/en/sorting Sorting (Bubble, Selection, Insertion, Merge, Quick, Counting, Radix) - VisuAlgo VisuAlgo is free of charge for Computer Science community on earth. If you like VisuAlgo, the only "payment" that we ask of you is for you to tell the existence of VisuAlgo to other Computer Science students/instructors that you know =) via Facebook.. 2022. 4. 10.
[알고리즘] 정렬 알고리즘(1) by javascript - Bubble(버블), Selection(선택), Insertion(삽입) 알고리즘을 배우게 되면 머리에 가장 오래 남아있던 그 정렬 알고리즘에 대해 알아보자. 사실 javascript에서는 Array.prototype.sort()라는 배열 메서드가 존재해서 굳이 정렬 알고리즘을 알아야 되나 싶기도 한데, 알아둬서 나쁠 건 없다고 생각된다. 정렬의 동작 원리는 아래 사이트를 통해 보면 이해하기 쉽다. (싱가폴 대학(?)에서 만든 학습용 사이트라는데 시각적으로 표현되어 있어서 보기 좋다.) https://visualgo.net/en/sorting Sorting (Bubble, Selection, Insertion, Merge, Quick, Counting, Radix) - VisuAlgo VisuAlgo is free of charge for Computer Science com.. 2022. 4. 10.
[프로그래머스] 네트워크(LV.3) by javascript - 깊이/너비 우선 탐색(DFS/BFS) ▷ 문제 : 깊이/너비 우선 탐색(DFS/BFS) - 네트워크 LV.3 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr ▷ 해결 날짜 : 2022.04.08 ▷ 소요 시간 : 50분 ▷ 풀이 과정 : 문제 자체에 이미 연결 정보가 주어져 그걸 가지고 서로 연결되어있는 집단의 개수가 총 몇 개인지 출력하는 문제이다.나름 구조가 평범한 그래프 탐색 알고리즘 문제와 비슷해서 생각보다 쉽게 풀었다. 좀 강박관념일수도 있는데, 사용하기 쉽게 그래프를 다시 한번 그리고 그걸 가지고 알고리즘을 실행시켜 구현하였다. .. 2022. 4. 8.
[프로그래머스] 단어 변환(LV.3) by javascript - 깊이/너비 우선 탐색(DFS/BFS) ▷ 문제 : 깊이/너비 우선 탐색(DFS/BFS) - 단어 변환 LV.3 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr ▷ 해결 날짜 : 2022.04.08 ▷ 소요 시간 : 1시간 30분 ▷ 풀이 과정 : 일단 문제는 그래프 탐색 알고리즘을 사용해서 풀면 된다. 두 개의 단어 begin, target과 단어의 집합 words가 주어지는데, 아래에 주어진 두 규칙을 이용해 가장 짧은 변환 과정을 찾으면 된다. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. words.. 2022. 4. 8.
[백준] 7576번 : 토마토 (골드Ⅴ) by node.js ▷ 문제 : 7576번 - 토마토 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net ▷ 해결 날짜 : 2022.04.07 ▷ 소요 시간 : 1시간 30분 ▷ 풀이 과정 : 처음으로 풀어보는 골드 난이도다. 문제를 보면 상자의 크기가 주어지고 토마토의 위치가 주어지는데 1의 위치부터 상하좌우 번져가면서 토마토를 익혀 총 몇일이 걸리는지 확인하는 문제이다. 결국 다른 문제와 마찬가지로 1부터 시작해서 전체를 쭉 탐색하면 되는것인데, 시간 초과에서 걸려버렸다. 그래서 일단 시간초과에 걸릴만한 녀석들과.. 2022. 4. 7.
[백준] 2178번 : 미로 탐색 (실버Ⅰ) by node.js ▷ 문제 : 2178번 - 미로 탐색 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net ▷ 해결 날짜 : 2022.04.07 ▷ 소요 시간 : 50분 ▷ 풀이 과정 : 이것 역시 [0,0] 부터 상하좌우를 탐색해 나가면서 [N,M] 까지의 최단거리를 구하는 문제이다. 우선 고민이 필요한 부분은 탐색을 둘째치고 어떻게 거리를 구하고 담아둘건지에 대해 방향을 잡아야했다. 그래서 그냥 간단하게 탐색용 배열 하나, 거리 저장용 배열 하나 두개를 만들고 어차피 한칸씩 움직이며 탐색을 하기 때문에 이전에 위치한 값의 + 1 을 해주면서 저장을 해 나가면.. 2022. 4. 7.
반응형
TOP