본문 바로가기

분류 전체보기72

프로그래머스 알고리즘 문제풀이: 소수찾기 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 풀이 완전 탐색 문제 주어진 numbers 문자열의 순서를 바꿔 배치한 후 만들어낼 수 있는 숫자들 중 소수의 개수를 구하는 문제. 즉, 순열 + 소수 검사를 요구하는 문제. python의 경우 itertools의 permutations를 사용하여 순열을 생성하고 약수가 존재하면 False, 없다면 True를 반환하는 소수검사 함수를 생성하여 체크했다. 단, 그대로 제출할 시 시간초과에 걸릴 수 있다. numbers는 길이가 1이상 7 이하이고 숫.. 2021. 11. 6.
프로그래머스 알고리즘 문제풀이: H-index 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 프로그래머스 정렬 level 2 H-index 위키백과 설명 과학자의 생산성 및 영향력을 나타내는 지표인 H-index를 계산하는 문제이다. 어떤 과학자가 발표한 논문 중, H번 이상 인용된 논문이 H편 이상이고 나머지 논문이 모두 H번 이하 인용되었다면, 이때H의 최댓값이 H-index다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 주어질 때, 이 과학자의 H-index를 계산하시오. 풀이 numer.. 2021. 11. 6.
JS33 - 28.함수 성능과 빅 오(Big O) 표기법 Big O is the worst-case scenario growth curve for the complexity of an algorithm 입력 시간에 따라 알고리즘이 실행되는 데 걸리는 시간을 수학적으로 표현한 것 알고리즘의 전체 단계를 대수로 바꾸고 문제의 전체 복잡성에 큰 영향을 미치지 않는 하위 상수 및 계수를 제외한다. Regular Big-O 2 O(1) --> It's just a constant number 2n + 10 O(n) --> n has the largest effect 5n^2 O(n^2) --> n^2 has the largest effect Constant Complexity (일정한 복잡성) : O(1) const firstElemEven = (array) => { .. 2021. 10. 27.
JS33 - 27.자료구조 Object와 Array 원시 타입 6종류(Boolean, Null, Undefined, Number, String, Symbol) 이외의 데이터 타입 array도 object도 둘 다 object // arrays []; // objects { } Object 식별자 (Identifier)로 참조할 수 있는, 메모리에 있는 값 속성(Property)을 담고 있는 가방(Collection) 중괄호는 개체를 나타내며 개체의 요소가 개체를 구성합니다. 객체 값은 키 : 값 쌍으로 제공되며 이러한 값은 객체의 속성 또는 방법 (함수) 일 수 있습니다. 속성은 객체의 특징 또는 속성 인 반면, 방법은 객체에서 수행할 수 있는 기능 또는 동작입니다. // simple way to create a string co.. 2021. 10. 27.
JS33 - 26.Async/Await Async/Await async function 함수명() { await 비동기_처리_메서드_명(); } async와 await는 자바스크립트의 비동기 처리 패턴 중 가장 최근에 나온 문법 (ES2017 ES8 ) 내부적으론 비동기 작업을 수행하면서, 표면적으론 완전히 동기식 코드를 작성할 수 있도록 도와준다. 기존의 비동기 처리 방식인 콜백 함수와 프로미스의 단점을 보완하고 개발자가 읽기 좋은 코드를 작성할 수 있다. 일반적으로 자바스크립트의 비동기 처리 코드는 아래와 같이 콜백을 사용해야 코드의 실행 순서를 보장받을 수 있다. 함수 앞에 async가 붙으면 항상 promise를 리턴한다. 다른 값들은 자동적으로 resolve된 promise로 감싸진다. // 미적용 function logName() .. 2021. 10. 27.
소규모 팀의 협업을 위한 git + github workflow 현재 진행 중인 프로젝트에서 프론트엔드 담당으로 참여 중이다. 합류 초기 협업을 위한 Git workflow가 설정되어 있지 않다는 것을 확인하고 원만한 협업을 위해 git workflow 문서를 작성했다. 기본 골자는 처음 팀 프로젝트를 시작했을 때부터 참고했던 우아한 형제들 기술 블로그의 git-flow에서 가져왔으며, 이후 몇 달 간의 실제 프로젝트 진행 후 문서를 보완해야 한다고 느껴서 몇 가지 규칙을 현 상황에 맞춰 수정 및 보완했다. 현재 우리 팀의 상황은 아래와 같다. 팀원 수가 2~10명 이하인 소규모 팀 JIRA 등 다른 협업용 툴을 사용하지 않거나 엄격히 활용하지 않음 Git에 익숙하지 않은 팀원이 다수 존재 개발 초기라서 잦은 배포가 필요함 Git + Github 원격 저장소 사용 P.. 2021. 10. 20.