일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- context switching
- Computer Science
- 코드스테이츠
- react 기초
- 파이썬
- 운영체제
- 컴퓨터공학
- 자바
- 파이썬 알고리즘 인터뷰
- JavaScript
- Python
- 알고리즘
- Operating System
- 글또
- execution context
- 자료구조
- python algorithm
- 프로그래머스
- node.js
- java
- 비동기
- codestates
- useState
- algorithm
- 개발공부
- Zerobase
- typeScript
- REACT
- OS
- 자바스크립트
- Today
- Total
목록알고리즘 (5)
Back to the Basics
GCD(Greatest Common Divisor) 최대 공약수 1. 문제 M개의 A 빼빼로와 N개의 B 빼빼로를 k명의 직원에게 공평하게 나누어 주는 방법을 구하는 함수를 작성하는 문제이다. 예를 들어 A빼빼로가 4개 B빼빼로가 8개인 경우, 직원이 2명이라면 A 뺴빼로를 2개, B를 4개씩 공평하게 나눠준다. 입력 : 인자 M (1
Rock Paper Scissors 1. 문제 이 문제는 가위바위보를 n 판 했을 때 한 사람이 낼 수 있는 모든 경우의 수를 구하는 문제이다. R=Rock , P=Paper, S=Scissors라고 할 때 4판을 했을 때 트리 구조로 구성을 해보면 아래와 같다. 중학생 때 배웠던 수학을 떠올려보자, 한 판을 할 때마다 R, P, S 3개 중 중복을 허용하여 뽑는 경우의 수 3Π\PiΠ1과 같다. 바로 중복순열이다. 중복순열은 자료구조 DFS를 이용하여 전체를 순환하는 방식을 사용한다. DFS에 대한 개념적인 내용은 Section2의 첫 부분인 자료구조에서 이미 정리한 바가 있으니 참고하자 자료구조/알고리즘] Graph - BFS , DFS 입력 : depth 또는 없음 출력 : 2차원 배열 조건 : 여..
기초 알고리즘 문제를 푸는 도중 제곱근의 수를 입력받아 제곱근 값을 소수점 2번째 자리까지 구하는 문제가 나왔다. Math.sqrt라는 아주 좋은 메소드가 있지만, 사용하면 안 된다고 한다. 이 문제에서 구현해야 햘 기능을 나눠보면, 1) 제곱근을 구하고 2) 소수점 2번째 자리까지 출력이라고 할 수 있다. 문제는 금방 풀었지만, 고등학교 수학인가 중학교 수학인가 에서 배웠던 수학적인 방법들이 생각나서 추가적으로 구현해 보았다. 그리고, 문제에서 힌트로 주어져있던 바빌로니아 알고리즘에 대해서도 마지막 첫 번째 풀이 학창시절 배우고, 공업수학도 대학에서 해서 그런지 이 정도는 아직.. 아직 기억이 난다..ㅋㅋㅋ.. 제곱근은 루트 안에 숫자를 넣은 값이다. 이를 계승으로 표기하면 숫자^(1/2) 승이다. 3..
PROMRAMMERS - PART3. SORT & SEARCHING PYTHON LIST의 정렬 (1) sorted() 내장함수 (built-in function) 정렬된 새로운 리스트를 얻어낸다. (2) sort() list의 method 해당 리스트를 정렬한다. 원래 list 자체가 정렬된다. Function와 Method의 차이는? function : class와 상관 없이 독립적이다. method : class & object와 연관이 있음. class 내에 선언되어있는 함수. # 문자열로 이루어진 리스트에서 문자열 순서로 정렬하려면, 정렬에 이용할 수 있는 Key를 지정. # 문자열로 이루러진 list의 경우 사전 순거로 정렬디 된다. (대문자>소문자) L1=['abcd','..
Data Structure and Algorithm Algorithm 이란? 사전적 정의 : 어떤 문제를 해경하기 위한 절차, 방법, 명령어들의 집합 programming : 주어진 문제를 해결하기 위한 자료구조와 연산 방법에 대한 선택. 자료구조를 배워야 하는 이유 : 문제를 파악하고 내가 사용한 자료구조가 어떤 성질이여야 하는지 알아야 하기 때문 Linear Array 1) Array와 List Arrya : 원소들을 순서대로 늘어놓는 것. List : data type이 다른 원소들 사용 가능. 2) Python List에 활용할 수 있는 연산들 실행시간이 list 길이에 독립적인 연산들 O(1) .append() : 맨 끝에 원소를 덧붙인다. .pop() : 맨 끝의 원소 하나를 꺼내고 꺼낸 것을..