본문 바로가기

반응형

DEVELOPER/DS & Algorithms

(41) PORTFOLIO GITHUB 방명록
[TIL] Daily Coding 회고 - 문자열 DEVELOPER/DS & Algorithms / 2022. 6. 13. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 코드스테이츠에서 제공하는 문제에 대해 회고하려고 합니다. 이수하고 있는 교육에서 매일 한 개씩 코딩 문제를 풀고 있습니다. 날이 지날수록 난이도가 점점 올라가 어려워지고 있는데요. 그중 오늘 푼 문제는 저의 아이디어로 풀기는 했으나, 레퍼런스의 풀이 방식을 오래 기억하고 싶어 이렇게 기록합니다. * 문제의 자세한 내용은 공유하지 않습니다. 내가 푼 풀이 public static String readVertically(String[] arr) { // TODO: String result = ""; int newStrLength = 0; for(int i = 0; i < arr.length; i++) { newStrLength += arr[i].length..
[백준] 스택 수열_1874_자바 DEVELOPER/DS & Algorithms / 2022. 6. 11. 스택 수열 (1874) 이번 포스팅은 백준의 1874번 문제 [스택 수열]에 대해서 다루려고 합니다. 이름에서도 알 수 있듯이 문제의 분류는 스택에 해당합니다. 아래에 해당 문제에 대한 내용이 적혀있는데요. 상당히 애매하게 적혀있습니다. 그래서인지 문제를 이해하는데 어려움을 느낄 수 있습니다. 아래 풀이에서 자세하게 알아보도록 하겠습니다. https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. ww..
[백준] 수 정렬하기 3_ 10989_자바 DEVELOPER/DS & Algorithms / 2022. 6. 7. 10989 Java - 수 정렬하기 3 이번 문제는 카테고리에 해당하는 [수 정렬하기 3] 입니다. 문제의 입출력을 보았을 때는 그렇게 어려운 문제는 아닙니다. 하지만 메모리와 시간제한이 타 문제보다 까다로운데요. 이 때문에 저도 문제를 풀면서 많은 고민을 하게 되었습니다. https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 수 정렬하기3 문제를 딱 보자마자, 다양한 정렬 알고리즘을 사용하여 풀면 되겠다고 생각했습니다. 하지만 생가보다 메모리와 시간제한이 크게 ..
[알고리즘] 그래프(Graph) 알아보기 DEVELOPER/DS & Algorithms / 2022. 5. 28. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘 알아볼 내용은 그래프(Graph) 입니다. 먼저 그래프란 이름을 들으니 무엇이 떠오르나요? 대부분의 사람들은 위 그림과 같은 모습을 생각할 것입니다. 오늘 포스팅할 그래프는 마치 복잡한 네트워크처럼 그물망으로 이루어진 자료구조입니다. 위 그림과는 다른 형태죠. 이제 아래에서 자세하게 알아보도록 하겠습니다. 1. 그래프(Graph)란? 위에서 언급했듯이 그래프(Graph)는 어떠한 정점들을 그물망처럼 연결하여 나타낸 자료구조입니다. 그래프에 대해서 쉽게 이해할 수 있도록 먼저 용어를 알아보겠습니다. 1) 그래프의 용어 정점(Vertex) : 하나의 점을 의미합니다. 또는 위치가 될 수 있습니다. 위에 자료구조 그래프 예시에서 주황색 원에 해당합니다. 정점을..
[알고리즘] 병합 정렬(Merge sort) 알아보기 DEVELOPER/DS & Algorithms / 2022. 5. 11. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘 포스팅 내용은 병합 정렬(Merge sort)입니다. 저번 시간엔 분할 정복 알고리즘에 대해서 정리를 했는데요. 분할 정복 알고리즘의 대표적인 예가 병합 정렬이라고 할 수 있습니다. 또한 분할 정복 알고리즘을 설명했을 때 사용된 그림 예시 또한 병합 정렬과 동일합니다. 분할 정복 알고리즘 다시 알아보기 (아래 링크 클릭) https://kang-james.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B6%84%ED%95%A0-%EC%A0%95%EB%B3%B5Divide-and-Conquer-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0 [알고리즘] 분할 정복(Divide an..
[알고리즘] 분할 정복(Divide and Conquer) 알아보기 DEVELOPER/DS & Algorithms / 2022. 5. 10. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 이번 포스팅은 분할 정복에 대해서 정리하도록 하겠습니다. 저번 시간 정리했던 동적 계획법과 유사하게 어떠한 문제를 해결하는 방법인데요. 아래에서 자세하게 알아보겠습니다. 분할 정복(Divide and Conquer) 알고리즘 분할 정복 알고리즘은 어떠한 문제를 작은 문제로 더 이상 나눌 수 없을 때까지 분할하여 문제를 해결하는 방법입니다. 자세하게는 분할된 작은 단위의 문제들을 각각 풀면서 다시 합병하여 답을 구하는 것입니다. 대표적인 예로는 정렬 알고리즘 중에서 퀵 정렬(Quick sort), 합병 정렬(Merge sort), 이진 탐색(Binary search), 선택 문제, 고속 푸리에 변환(FFT) 문제가 대표적입니다. * 분할 정복과 동적 계획법의 차..

반응형