CS/알고리즘8 [Algorithm] 코딩테스트에서 자주 쓰이는 파이썬 수학 내장함수 1. 기본 내장 함수1.1 abs()절댓값을 반환합니다.print(abs(-7)) # Output: 71.2 max() / min()리스트나 튜플에서 최대값 또는 최소값을 구합니다.numbers = [3, 5, 2, 9]print(max(numbers)) # Output: 9print(min(numbers)) # Output: 21.3 sum()리스트나 튜플의 합계를 구합니다.numbers = [1, 2, 3, 4]print(sum(numbers)) # Output: 101.4 pow()거듭제곱 계산.print(pow(2, 3)) # Output: 81.5 round()반올림을 수행합니다. 두 번째 인자로 소수점 자리수 설정 가능.print(round(3.14159, 2)) # Output:.. CS/알고리즘 2025. 1. 4. [Algorithm] 코딩테스트를 위한 기본 알고리즘 정리 구현/시뮬레이션특징알고리즘 문제의 80%는 구현이다. 문제 풀 때, 대부분 구현 문제라고 접근해도 무방하다.접근방법모든 경우의 수를 따져야 함.주어진 범위 내에 모든 수를 탐색해보면서 조건에 맞으면 탐색한다.예시 1) 2503번: 숫자 야구세 자리 수의 동일한 자리에 위치하면 스트라이크 한 번으로 센다. 숫자가 세 자리 수에 있긴 하나 다른 자리에 위치하면 볼 한 번으로 센다.주어진 범위 → 세자리수스트라이크&볼 → 조건순회 → 모든 수 탐색민혁: 123 영수: 1 스트라이크 1 볼.민혁: 356 영수: 1 스트라이크 0 볼.민혁: 327 영수: 2 스트라이크 0 볼.민혁: 489 영수: 0 스트라이크 1 볼.이때 가능한 답은 324와 328, 이렇게 두 가지이다. import sysfrom iterto.. CS/알고리즘 2025. 1. 4. [Alogorithm] 알고리즘 공부를 시작하는 올바른 방법 본 글은 알고리즘을 이제 막 공부하기 시작한 분들에게 적합한 글입니다. 이제 막 알고리즘에 눈 뜬 입장에서, 처음 알고리즘을 접하는 분들께 드리는 조언을 담아보았습니다. 저보다 알고리즘에 대해 잘하고 자신 있으신 분들은 이 글이 큰 도움이 되진 않으실 것 같습니다. 재미로 봐주시는 건 환영입니다. 나의 코딩테스트 실패 경험은 현재 진행형코딩테스트, 알고리즘.. 항상 도전과 이직의 발목을 잡았던 것은 코딩 테스트였다. 처음 제대로 된 알고리즘 테스트를 본 건, 2022년 봄이었다. 프론트엔드 개발자로서 첫 취업하기 전에도 본 적은 있지만, 코딩테스트를 보는 회사에 합격한 것은 아니었으니까. 창업에 관심이 많던 나는 소프트웨어 마에스트로 과정에 지원했지만, 코딩 테스트라는 허들 앞에 좌절했다. 그 때 당시,.. CS/알고리즘 2023. 11. 27. [DataStructure] 자바스크립트로 구현하는 '트리' 자료구조 (1) 이진트리 트리 자료구조의 필요성 - 트리 자료구조는 결리스트의 검색 시, 노드의 처음부터 찾아가야하는 단점을 보완했음. 이진탐색의 장점을 활용함. 트리 자료구조 실생활 예시 - 회사나 정부의 조직도 - 나라, 지방, 시•군별, 계층적인 데이터의 저장 - 인덱스 - DOM Tree 이진트리의 조건 - 모든 노드는 왼쪽 가지에 포함되는 어떤 숫자보다도 큰 숫자가 된다. - 모든 노드는 그 노드의 오른쪽 가지에 포함되는 어떤 숫자보다 작은 숫자가 된다. 용어 - 노드 - 루트노드 : 가장 꼭대기 노드. - 노드 : 트리 구조에서의 기본 데이터 저장 단위. - 리프 노드 : 차수가 0인 노드, 즉 맨 끝에 달린 노드를 말함. - 관련 용어 - 차수 : 선택한 노드의 부속 트리의 개수를 말함. - 트리의 차수 : 전체 트.. CS/알고리즘 2020. 12. 2. [DataStructure] 자바스크립트로 구현하는 '연결리스트(Linkedlist)' 자료구조 리스트의 정의 특정한 순서로 배치된 일련의 항목 배열리스트의 장/단점 바로 바로 해당 요소에 접근할 수 있음. 요소의 삽입/삭제를 위해 상당한 수의 연산이 요구됨. 다시 인덱싱하기 위해, 메모리 상에서 위치를 재조정해줘야 함. 배열리스트보다 링크드리스트로 구현하면 좋은 상황 배열과 리스트로 본다면 삽입과 수정이 자주 이뤄지는 경우 (전화번호부, 성적 등등) 필요한 메소드 add ( ) remove ( ) search ( ) find ( ) 필요한 객체 Node 객체 next data Linkedlist 객체 head tail length index 코드 console.log("좋은 건 한번 더"); // 링크드리스트가 관리해야 할 정보는 this.head, this.tail, this.count func.. CS/알고리즘 2020. 11. 24. [DataStructure] 자바스크립트로 구현하는 '스택(Stack)' 자료구조 스택 자료구조로 구현된 것들 웹 브라우저의 방문기록 : 가장 나중에 열린 페이지부터 보여준다. 역순 문자열 만들기 : 가장 나중에 입력된 문자부터 출력한다. 실행 취소 : 가장 나중에 실행된 것부터 실행을 취소한다. 이처럼 평소에 우리가 자주 쓰는 기능들 중 스택 자료구조를 이용하는 것들이 꽤나 많다. 그래서 오늘은 스택 자료구조를 직접 구현해볼 것이다. 상태 표시 top ( ) : 스택의 마지막 요소가 나타내준다. empty ( ) : 스택이 비었다면 1을 반환하고 그렇지 않다면 0을 반환한다. 필요한 메소드 pop ( ) : 스택 가장 마지막 요소를 뺀다. push ( ) : 가장 마지막에 요소를 추가한다. 배열 기반으로 구현하기 console.log("손쉬운 방법으로 스택 자료구조를 구현해봅시다.".. CS/알고리즘 2020. 11. 23. 자바스크립트로 구현하는 버블정렬(BubbleSort) 전에 구현했던 버블정렬 코드이다. 자세한 설명은 추후에 진행하도록 하겠다. CS/알고리즘 2020. 10. 22. 자바스크립트로 구현하는 선택정렬(SelectionSort) 오늘은 선택정렬에 대해 구현해보았다. 코드는 다음과 같다. 자세한 설명은 추후에 추가할 예정이다. CS/알고리즘 2020. 10. 22. 이전 1 다음 반응형