본문 바로가기
728x90

컴공생의 Knowledge60

알고리즘 시간복잡도란 무엇인가? 알고리즘 시간복잡도는 무엇일까? 알고리즘 문제 풀이하는 사람들이 품을 수 있는 궁금증이라고 생각합니다. ◆ 시간복잡도의 정의 알고리즘 시간복잡도란 어떤 알고리즘에 대해서 입력 개수(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.
[프로그래머스] 스택/큐 - 기능개발 문제 풀이 오늘은 드디어 프로그래머스에서 알고리즘 문제 풀이를 통해 알고리즘 코딩 공부를 해볼 예정입니다. 처음으로 풀어볼 문제는 바로 스택/큐 테마에서 "기능개발"이라는 문제입니다. 문제 난이도는 Level 2이며, 저는 JavaScript로 풀거니 참고해주세요!! 스택/큐 > 기능개발: Level 2 JavaScript ♣ 문제 설명 기능 개발 문제의 설명은 바로 아래와 같습니다. 이해를 돕기 위해 간단히 문제를 풀어볼께요. Summary 각 기능은 진도가 100%일 때 서비스에 반영 가능하다. 각 기능의 개발속도는 모두 다르다. 기능들은 배포가 되며, 순서대로 배포 된다. 이 때, 뒤에 있는 기능이 먼저 완료되면, 앞에 있는 기능 배포 시 함께 배포된다. Inputs progresses : 배포 순서대로 나열.. 2022. 6. 13.
[프로그래머스] 코딩 공부를 위한 프로그래머스 활용법 알려드립니다~ 지난번에는 프로그래머스에 대한 간단한 소개가 있었습니다. 그럼 이번에는 프로그래머스 활용법에 대해서 간단히 알려드릴까합니다. 혹시 프로그래머스가 뭔지 모르시는 분이 계신다면, 이전 포스팅 참고하시면 좋을 것 같아요~ 2022.06.08 - [컴공생의 Expertise/Algorithm] - 자료구조/알고리즘 코딩 공부는 여기서~ 프로그래머스!! 자료구조/알고리즘 코딩 공부는 여기서~ 프로그래머스!! 지금까지 JavaScript의 기본을 알아봤습니다. Array 정렬하기 부터 Stack과 Queue가 무엇인지? 그리고 문자열을 다루는 여러 함수들에 대해서 알아봤습니다~ 그러면 컴퓨터 언어의 기본을 배워봤으니~ uic11.tistory.com 프로그래머스의 활용법은 정말 다양합니다. 근데 저희는 자료구조 /.. 2022. 6. 9.
자료구조/알고리즘 코딩 공부는 여기서~ 프로그래머스!! 지금까지 JavaScript의 기본을 알아봤습니다. Array 정렬하기 부터 Stack과 Queue가 무엇인지? 그리고 문자열을 다루는 여러 함수들에 대해서 알아봤습니다~ 그러면 컴퓨터 언어의 기본을 배워봤으니~ 찐 코딩을 해봐야겠죠!! ^^ 먼저 코딩을 하기 위해서는 자료구조와 알고리즘 공부도 기반이 되어야 합니다~ 먼저 자료구조는 컴퓨터 데이터를 담을 수 있는 도구입니다. 네이버에서는 자료구조를 이렇게 설명해주고 있네요. 정말 어렵고 길게 쓰여있습니다. ^^ [자료구조] 그리고 알고리즘이란 컴퓨터 언어로 어떤 논리적 동작을 구현하는데 필요한 동작 방법이라고 간단하게 생각하시면 좋을 것 같습니다. 아래는 네이버 백과사전에서 알려주는 알고리즘의 정의입니다~ [알고리즘] 그럼 자료구조와 알고리즘을 배워야겠.. 2022. 6. 8.
728x90