본문 바로가기
728x90

전체 글87

[프로그래머스] 해시 - 위장 문제 풀이 이번에는 프로그래머스에서 해시 문제 중 "위장" 문제 풀이를 해보겠습니다. 해시는 지난 완주하지 못한 선수 문제 풀이에서 다뤄봤던 알고리즘으로 해시 맵 자료구조를 활용하여 문제를 풀이하는 것이 중요한 점이라고 말할 수 있습니다. 혹시 해시 - 완주하지 못한 선수 문제 풀이를 보지 않으셨다면 보고 아래 문제 풀이에도 참고하시기 바랍니다. 2022.06.15 - [분류 전체보기] - [프로그래머스] 해시 - "완주하지 못한 선수" 문제 풀이(Hash 활용) [프로그래머스] 해시 - "완주하지 못한 선수" 문제 풀이(Hash 활용) 안녕하세요. 오늘은 어제 문제풀이했던 해시 > 완주하지 못한 선수의 문제 풀이 방법을 다른 알고리즘을 활용해서 문제를 풀어보려고 해요. 이렇듯 알고리즘 문제 풀이의 답은 없다는 것.. 2022. 6. 22.
[JavaScript] 배열 다루기 Step #2 오늘은 JavaScript로 배열 다루기 2탄을 공부해보려고 합니다. 이번에는 flat(), forEach(), from, includes(), indexOf() / lastIndexOf() 함수를 공부할 예정입니다. 혹시 Step #1 편을 보고 오지 않으셨다면, 먼저 공부했던 내용들을 보기 위해 아래 링크해드리는 이전 블로그에서 공부하고 오시기를 추천드립니다. 2022.06.17 - [컴공생의 Specification/JavaScript] - [JavaScript] 배열 다루기 Step#1 [JavaScript] 배열 다루기 Step#1 이번에는 JavaScript로 배열 다루는 방법을 공부해보는 시간을 갖도록 하겠습니다. 배열(Array)는 코드를 구현함에 있어 정말 다방면으로 활용할 수 있는 기초.. 2022. 6. 21.
[프로그래머스] 탐욕법 - 체육복 문제 풀이 오늘은 프로그래머스에서 탐욕법 문제 중 "체육복" 문제 풀이를 해보겠습니다. 탐욕법은 바로 부분적인 최적해가 전체적인 최적해가 되는 마법과 같은 개념으로 이루어진 알고리즘입니다. 매번 이 개념이 통하지는 않지만, Greedy한 알고리즘이 최선인 문제를 한번 풀어보겠습니다. 프로그래머스 > 탐욕법 > 체육복 문제 풀이 ◑ 문제 정보 문제명: 체육복 문제 난이도: Level 1 문제 푼 사람수: 34695명 사용 가능 언어: 11개 (JavaScript 사용) ◑ 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려.. 2022. 6. 20.
[프로그래머스] 완전탐색 - 모의고사 문제 풀이 오늘은 프로그래머스에서 완전탐색 알고리즘 중 "모의고사" 문제 풀이를 해보겠습니다. 완전탐색은 무식해 보일정도로 모두 탐색해서 결과를 얻어야하는 알고리즘 방법입니다. 이 문제처럼 어떤 문제를 풀 때 하나하나 다 확인해서 결과를 도출해야할 경우도 있으니 유사한 문제를 풀 때 참고하시기 바랍니다. 그럼 프로그래머스의 모의고사 문제 풀이 시작해보겠습니다. 프로그래머스 > 완전탐색 > 모의고사 문제 풀이 ▷ 문제 정보 문제명: 모의고사 문제 난이도: Level 1 문제 푼 사람수: 47720명 사용 가능 언어: 11개 (JavaScript 사용) ▷ 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같.. 2022. 6. 19.
[프로그래머스] 정렬 - K번째수 문제 풀이 프로그래머스에서 정렬 중 K번째수 문제 풀이를 해보겠습니다. 정렬은 기본적으로 어떤 공통된 속성을 갖고 있는 리스트를 기준에 의해서 순서를 정해서 나열한다는 의미를 갖고 있습니다. 이 정렬의 기본 개념을 갖고 문제 설명을 확인하여 이해하고 알고리즘을 만들고 코드 구현까지 공유드리겠습니다. 프로그래머스 > 정렬 > K번째수 문제 풀이 ☞ 문제 정보 문제명: K번째수 문제 난이도: Level 1 문제 푼 사람수: 61117명 사용 가능 언어: 11개 (JavaScript 사용) ☞ 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 1. .. 2022. 6. 18.
[JavaScript] 배열 다루기 Step#1 이번에는 JavaScript로 배열 다루는 방법을 공부해보는 시간을 갖도록 하겠습니다. 배열(Array)는 코드를 구현함에 있어 정말 다방면으로 활용할 수 있는 기초 중에 기초인 자료구조입니다. 이 Array만 잘 다룰 수 있다면 어떤 개발이든 무섭지 않을 수 있다고 자부할 수 있습니다. 그럼 JavaScript로 배열 다루기 알아보겠습니다. JavaScript로 배열 다루기 - Step 1 JavaScript MDN 사이트 소개 먼저 JavaScript의 Array에 깊게 공부해보고 싶은 분들은 아래 사이트에서 공부하셔도 됩니다. 아래 다룰 내용들은 제가 개발자로서 활용도가 높거나 사용 경험이 있는 함수들만 추려서 정리해드릴 예정이니, 아래 없거나 추가적으로 공부하고 싶은 분들은 아래 JavaScrip.. 2022. 6. 17.
알고리즘 시간복잡도란 무엇인가? 알고리즘 시간복잡도는 무엇일까? 알고리즘 문제 풀이하는 사람들이 품을 수 있는 궁금증이라고 생각합니다. ◆ 시간복잡도의 정의 알고리즘 시간복잡도란 어떤 알고리즘에 대해서 입력 개수(N)에 비례하여 걸릴 수 있는 시간, 실행 횟수를 수치화 시켜서 비교할 수 있는 데이터로 만든 값입니다. 네이버에서 검색한 결과는 아래와 같습니다. 어떤 알고리즘이 더 빠른가 즉, 명령어 실행 횟수가 더 적은가를 분석하기 위해 사용되는 시간 복잡도는 알고리즘을 평가하기 위한 중요한 요소 중 하나입니다. 이제 무엇인지는 알 것 같다는 느낌이 들 것 입니다. ◆ 시간복잡도 표기법 이제는 시간복잡도에 대한 표기 방법에 대해서 설명드리겠습니다. 표기 방법은 아래와 같습니다. O({알고리즘 입력 개수(N)에 비례하여 실행되는 횟수 계산.. 2022. 6. 16.
[프로그래머스] 해시 - "완주하지 못한 선수" 문제 풀이(Hash 활용) 안녕하세요. 오늘은 어제 문제풀이했던 해시 > 완주하지 못한 선수의 문제 풀이 방법을 다른 알고리즘을 활용해서 문제를 풀어보려고 해요. 이렇듯 알고리즘 문제 풀이의 답은 없다는 것을 말씀드리고 싶고, 최대한 빠르고 효율적인 알고리즘을 선택하고 만들기 위한 공부 단계라고 생각하시면 도움이 될 것 같습니다~ 그럼 문제는 다시 짚어볼까요? 해시 > 완주하지 못한 선수: Level 1 JavaScript (Hash 활용) 이 Level 1 문제를 어떻게 해시를 활용해서 풀어볼 지, 문제의 의도대로 알고리즘을 만들고 코드를 구현해볼까합니다. 그럼 문제 설명 및 이해는 아래의 이전 포스팅을 보고 오시면 좋을 것 같습니다. 2022.06.13 - [컴공생의 Knowledge/Algorithm] - [프로그래머스] 해.. 2022. 6. 15.
[프로그래머스] 해시 - "완주하지 못한 선수" 문제 풀이 오늘은 프로그래머스에서 해시 테마의 "완주하지 못한 선수" 문제 풀이를 통해 알고리즘 공부를 해볼 것입니다. 문제 난이도는 Level 1이며, 저는 JavaScript로 코드를 구현할 것이므로 공부하시는데 참고해주세요~ 해시 > 완주하지 못한 선수: Level 1 JavaScript ♣ 문제 설명 완주하지 못한 선수의 문제 설명은 아래와 같습니다. 함께 읽어보시면서 이해해보시죠!! 이해를 돕기 위해 문제의 설명을 풀어볼께요~ Summary 마라톤에 참여한 선수 중 단 한명의 선수만 완주하지 못하였다. Inputs participant: 마라톤에 참여한 선수 이름 리스트 (문자열 배열) completion: 완주한 선수 이름 리스트 (문자열 배열) Output: 완주하지 못한 선수의 이름 이해가 바로 되시.. 2022. 6. 14.
728x90