반응형 분류 전체보기242 코딩테스트 합격자 되기 - 05 배열 2주차 스터디 카페글 코딩테스트 합격자 되기 - 05 배열 [집중 포인트] 1. 가장 기본적인 자료구조인 배열에 대해서 알아보고, 파이썬에서 배열 대용으로 많이 사용하는 리스트의 특징도 알아봅니다. 2. 배열의 경우에는 구현 시 내... cafe.naver.com 리스트는 내부적으로 동적 배열로 구현되어있는 파이썬 자료구조이다. 트리 혹은 그래프 문제를 제외하고 대부분 문제에서 리스트를 활용하는 경우가 많으므로 자주 사용하는 메서드 및 성능을 명확하게 정리하는 것이 중요하다. 책의 문제는 꼭 풀어보는 것을 권장한다고 합니다. - 04 모의고사, 06 실패율, 07 방문길이 추가문제 1. N개의 데이터가 채워진 리스트를 아래 조건을 기준으로 정렬하는 코드를 구현해주세요 홀수보다 짝수가 앞에 온다 홀수 혹은.. 2024. 1. 13. 코딩테스트 합격자 되기 - 04 코딩 테스트 필수 문법 코딩테스트 합격자 되기 - 04 코딩 테스트 필수 문법 [집중 포인트] 본격적으로 알고리즘 / 자료구조를 공부하기 전에 파이썬의 기본문법에 대한 개념을 익힙니다. 기본적으로 파이썬의 큰 특징을 알아보면 다음과 같습니다. 가볍... cafe.naver.com 1. 기본 컬렉션 타입 코드는 외울 수 있도록하기! 예시코드들의 시간복잡도 정리하기 리스트 append(item) : 리스트의 맨뒤에 추가한다. 시간복잡도 : O(1) insert(idx, item) : 리스트 idx에 추가하기 시간복잡도: O(n) pop() : 리스트 마지막 요소 제거 시간복잡도 : O(1) pop(0) 하게되면 리스트만큼 돌아야하므로 시간 복잡도 : O(n) remove(item) : 리스트에서 item을 찾아 제거 시간복잡도 :.. 2023. 12. 31. 코딩테스트 합격자 되기 - 03 알고리즘의 효율 분석 문제에 맞는 알고리즘을 선택하는 것이 중요하다. 이 때 기준은 시간복잡도이다. best case, average case, worst case 가 있지만 제한 시간 내에 결과 값이 나와야 하는 코딩테스트의 목적에 부합한 최악의 상황을 기준으로 시간 복잡도를 측정해야 한다. f(x)의 최악의 시간 복잡도는 O(g(x))라고 쓴다. (빅오 표기법) 점근적 상한 : 특정 지점부터 항상 내 연산회수보다 위에 있는 함수들 중 하나를 사용하면 된다. (빅오 표기법을 사용한다) 위의 예시 y=x^2+3x+5 일 때 O(x^3), O(2x^2) 모두 사용이 가능하지만 조금더 의미 있는 점근적 상한 하나를 정해야한다. 최고차항의 상수 및 부호를 떼고 나머지를 버리면된다. -> O(x^2) 최고차항 보다 높은 차수는 오차.. 2023. 12. 31. [공유] Kafka에서 파티션 증가 없이 동시 처리량을 늘리는 방법 - Parallel Consumer 네이버 D2 블로그 글을 읽고 공유합니다.https://d2.naver.com/helloworld/7181840 카프카에서 파티션별 단일 컨슈머 스레드가 할당되는 구조이기 때문에 메시지 동시 처리량을 늘릴 수 있는 가장 쉬운 방법 중 하나는 파티션을 증가시키는 것입니다.다만 파티션 수를 한번 늘리면 줄일 수 없다고 합니다. 파티션을 늘리는 단점브로커 파일 (데이터정보, 메터정보) 시스템 리소스 사용량 증가단일 브로커에 파티션 리더가 더 많이 배치되기 때문에 브로커 노드 장애 혹은 재시작으로 영향받는 범위가 넓다.파티션 단위로 설정된 레플리카 수만큼 복제되므로 디스크 사용량, latency가 증가한다. 네이버에서 카프카를 활용하여 로그 관리 시스템을 운영하는데 방대한 양의 로그를 빠르게 처리하려고 파티.. 2023. 12. 26. GitLab CI/CD 시작하기 데브옵스 전문 기업 인포그랩 사이트에서 작성한 가이드를 보는데 좋아서 참고하기 GitLab CI/CD 시작하기 | InfoGrab, DevOps 전문 기술 기업 | 인포그랩 | GitLab기반 DevSecOps 구축,컨설팅,교 GitLab CI/CD는 지속적인 방법론을 통한 소프트웨어 개발을 위해 GitLab에 내장된 도구입니다. GitLab을 통해 CI/CD를 시작하는 방법에 대해 알아봅니다. 이를 통해 개발 주기 초기에 버그와 오류를 포착 insight.infograb.net CICD를 도입하는 이유는 지속적 코드 수정이 일어나면서 배포 시 과정을 용이하게 하기 위해 사용한다. 시작전 maintainer 또는 owner 권한이 필요하다. job을 실행할 수 있는 Runner가 있는지 확인한다. 없으면.. 2023. 12. 18. [커리어리 글 공유] 주니어 자바 개발자를 위한 100가지 질문 (1) 질문에 답하기~ 조서희 / 주니어 자바 개발자를 위한 100가지 질문 1 | 커리어리 "주니어 자바 개발자를 위한 100가지 질문" 1편입니다. 주니어 자바 개발자를 위한 100가지 질문 (2)... careerly.co.kr 1️⃣ 기초 📌 JDK와 JRE의 차이점은 무엇입니까? JRE 자바 프로그램을 실행시키는데 필요한 런타임 환경 JDK 자바 프로그램을 개발하는데 필요한 것 ex) 컴파일러, 디버거, 개발도구 JVM 클래스라이브러리, 실행환경 등을 포함 📌 ==와 equals의 차이점은 무엇입니까? ==은 객체의 주소값을 비교한다. equals도 객체의 주소값을 비교하는데, 문자열 타입을 비교할 수 있다. 📌 두 객체가 동일한 hashCode를 가지면 Equals()가 참이어야 합니다, 그렇죠? h.. 2023. 12. 4. 인프콘 2023 골라보기 5가지 소프트웨어 설계를 위한 추상적 구조적 사고 모델: 세상을 표현하기 위한 방법 분류 Categorizing Grouping 추상화 Projection Layering 일반화 Pattern ex) 디자인패턴, 재사용 함수 추상화와 구조화는 함께간다. 소프트웨어 구현 단계 1. 도메인 모델링 : 비지니스 로직을 프로그래밍 언어로 표현하는 것 2. 아키텍쳐 3. 코드작성 로직 usecase - 어떤 기능을 위해 aspect - 어떤 관점에서 function - 로직을 구성하는 함수 리팩토링 : 코드를 수정하는 것 패러다임 코드크기 소유권 중복여부 수정가능성 의존 리팩토링 방법 1. 추상화 : 코드 내용을 숨길지 2. 구조화 : 코드를 분리할지 합칠지 3. 일반화 : 공통 코드를 분리할지 중복시킬지 추상적, 구조.. 2023. 11. 28. [공유] (번역) 우리들을 위한 디자인 패턴 디자인 패턴 : 반복되는 문제에 대한 해결책 : 특정 문제를 해결하는 방법에 대한 지침 주의사항 억지로 적용하지 말기 문제의 해결책이며 문제를 찾는 해결책은 아니다 디자인 패턴 종류 생성 / 구조 / 행동 생성 패턴 객체를 인스턴스화 하는 방법에 초점을 맞춘다. 빌더 Builder 생성자의 오염을 방지하면서 객체의 다양한 버전을 생성할 수 있게 해주는 패턴 한 객체에 여러가지 버전이 있을 때 or 객체의 생성에 많은 단계가 포함될 때 유용 팩토리 패턴과 주요 차이점은 팩토리 패턴은 생성이 한단계인 경우에 사용되는 반면 빌더 패턴은 생성이 여러 단계인 경우에 사용된다. 점층적 생성자 안티 패턴 해당 코드처럼 생성자의 매개변수가 많아서 이해하기 어려워질 수 있다. constructor(size: string.. 2023. 11. 7. import할 때 중괄호를 쓸때 안쓸때 차이 정답은 export 방식의 차이이다. export 할 때 default 를 적었다면 -> 중괄호 없이 import 가능 export 할 때 default 를 적지 않았다면 -> 중괄호 포함해야 import 가능 (없으면 에러발생) 2023. 10. 17. 이전 1 2 3 4 5 6 ··· 27 다음 728x90 반응형