본문 바로가기

전체 글571

정올 사이트 http://www.jungol.co.kr/xpert/ -> 실전고사 -> 스터디그룹 -> [2019 expert 4-1(1104)] ~ [2019 expert 4-10(1115)] 비번은 문제 제목 뒤에 있는 6자리 숫자를 거꾸로 하면 됩니다! (e.g [2019 expert 4-10(1115)] -> 5111014) 문제 보시면 실제 출제 된 문제들이 복원 되어 있습니다 기억에 남는 기출 문제들 : square, 개미마을5, Bit-ImageMap2, PUZZLE2, 카드게임 그리고 정답 코드를 보면 아시겠지만, 비트연산, heap sort, radix sort, hash 알고리즘이 많이 들어가네요 코드만 보면 이해가 안가는 부분도 있을텐데, 궁금한 것있으면 알려주세요 이해한 부분까지 알려드리겠습니다.. 2021. 5. 6.
알고리즘 문제 해결 전략 4.6 수행 시간 어림짐작하기 book.algospot.com/estimation.html 알고리즘 문제 해결 전략 4.6 수행 시간 어림짐작하기 주먹구구 법칙 프로그래밍 대회의 시간 제한은 알고리즘의 시간 복잡도가 아니라 프로그램의 수행 시간을 기준으로 합니다. 따라서 어떤 알고리즘이 이 문제를 해결 book.algospot.com "입력의 최대 크기와 알고리즘의 시간 복잡도를 보고 수행 시간을 어림짐작할 수 있어야 합니다." "프로그램의 동작 속도에 영향을 끼치는 요소는 입력의 크기와 시간 복잡도를 제외하고도 엄청나게 많기 때문입니다. CPU의 클록 속도, 1클록마다 수행 할 수 있는 CPU 명령어의 수, 프로그램의 메모리 접근 패턴, 운영 체제와 컴파일러의 버전, ..., 목록을 만들자면 끝이 없습니다." "그러나 많은 경우에는.. 2021. 5. 6.
[LeetCode] Squares of a Sorted Array leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3240/ - 정수 숫자가 담긴 배열이 주어집니다. 그것은 오름차순으로 정렬되어있습니다. 그것의 제곱들을 오름차순으로 리턴하세요. - 음수 시작인 경우 양수로 전환 하는 곳을 지점으로 오른쪽 i, 왼쪽 j 인덱스를 비교하면서 작은 수부터 배열에 담으면 됨. 같을 경우 아무거나 상관없음. i를 해도 됨. 처음과 끝 인덱스를 넘어가지 않도록 조심하면 됨. - 양수 시작인 경우는 바로 배열에 담으면 됨. - O(N) 풀이법이 있음... 으음.... class Solution { public: vector sortedSquares(vector& nums) { vector newArr; int l,.. 2021. 5. 5.
[leetcode] Find Numbers with Even Number of Digits leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3237/ - 주어진 정수 배열안에서, 짝수 자릿수를 가진 숫자의 수를 리턴하세요. - 예를 들어 12면 10의 자리이므로 오케이. 1234도 자릿수가 4이므로 오케이. - 10진수로 표현했으므로, 10진수로 풀이하는 방법이 생각남. - 제약조건은 배열 안의 숫자가 최대 500개, 그리고 하나의 숫자는 10^5이 최대임. class Solution { public: int findNumbers(vector& nums) { int result = 0 ; int check = 0; for(int i=0; i 2021. 5. 5.
협업의 기술 p31~36 "잘 정리된 포스트모텀 문서는 다음과 같은 내용들을 포함하고 있어야 한다. 간단한 요약, 현상의 발견부터 그에 관한 연구 및 조치 사항에 대한 시간순 서술, 현상의 발생 원인, 영향 및 피해에 대한 평가, 문제를 즉각적으로 해결하기 위한 활동 내용, 같은 문제의 재발 방지를 위한 활동 내용, 배운 점" "당신의 약점을 드러내면 드러낼수록 당신은 더 강해질 것이다. 이 말에는 이상한 모순이 있는 것처럼 보인다. 그러나 누구라도 매우 완고한 사람과 함께 일하게 될 수도 있다." "내 의견을 잘 전달하기 위해서는 먼저 다른 사람의 이야기에 귀를 기울여야 한다는 점을 명심해야 한다." "경우에 따라 당신이 할 수 있는 최선은 나는 잘 모르겠어요 라고 말하는 것이다." 2021. 5. 5.
협업의 기술 p1~30 book.naver.com/bookdb/book_detail.nhn?bid=7199069 협업의 기술 『협업의 기술』은 소프트웨어를 개발하는 과정에서 다른 사람, 팀, 그리고 사용자와 협업하기 위한 기본적인 패턴과 안티패턴들을 소개한다. 소프트웨어를 작성하는 일에서 간혹 간과할 수 있 book.naver.com "이 책을 통해 역자 스스로 어떤 문제를 가지고 있었으며, 이를 어떻게 극복해야 하는지에 대한 큰 힌트를 얻었다는 점 역시 사실이다." "이 책의 목적은 프로그래머들이 소프트웨어를 개발하는 데 있어서 그들의 이해력과 커뮤니케이션 능력, 타인과의 협업 능력을 효과적이면서도 효율적으로 향상하는 데 도움이 되도록 하는 것이다." "훌륭한 소프트웨어를 구현하고 싶은가? 그렇다면 이 책은 바로 당신을 위한.. 2021. 5. 4.
안드로이드 프레임워크 안드로이드 서비스 프레임워크 - 자바 서비스 프레임워크 - 네이티브 서비스 프레임 워크 4자지 핵심 기능은 동일하나 시스템 내부에서 서비스가 동작하는 메커니즘이나서비스 작성 방법에 차이점이 있음. 서비스 생성의 경우, Binder클래스를 상속받아 개발하는 방식, Service 클래스를 상속받아 개발하는 방식의 차이가 있습니다. 그리고 바인더 IPC처리의 경우, 자바 서비스 프레임워크에서는 바인더 IPC를 지원하기 위해 JNI를 통해 연결된 네이티브 서비스 프레임워크의 구성요소를 재사용합니다. 자바 서비스 프레임워크의 계층별 구조 1. 서비스 레이어 : 시스템 서비스 개발자는 애플리케이션 개발자가 시스템 서비스를 이용할 수 있게 SDK에 래퍼 클래스를 포함시켜야 한다. 2. RPC 레이어 : 자바 서비스 .. 2021. 5. 3.
Android platform 코드 Android studio 로 분석/수정 하는 법 Android studio 사용 시 얻을 수 있는 장점 1. 코드 browsing, searching이 쉽다 2. Java doc을 바로 확인하여 interface 등 사용하기 쉽다 3. App의 경우, UI layout을 UI환경에서 편집이 가능하다 4. 한번 프로젝트 indexing이 완료된 후에는 source insight 보다 쾌적함 1. root에서 부분 빌드를 위한 환경 설정을 함 source build/envsetup.sh lunch (build 할 platform 선택) 2. 밑에 idegen 폴더로 이동해서 빌드 cd development/tools/idegen mm 3. root로 다시 이동하여 idegen.sh을 실행시킴 cd ./development/tools/idegen/idege.. 2021. 5. 3.
종만북 p14~23 "가능한 한 많은 문제 풀기 프로그래밍 대회를 제대로 준비하기 위해 공부해야 할 주제는 굉장히 많습니다. 예를 들어 이 책은 전체 서른두 개 장이나 되는데, 이것으로도 대회에 필요한 주제를 전부 다룰 수는 없습니다. ... 그러나 복잡한 알고리즘을 하나 더 아는 것보다는 실제로 자신이 아는 것을 이용해 문제를 풀 수 있는 능력이 훨씬 더 중요합니다. ... 이런 경험과 능력은 실제 문제를 직접 풀어 보는 과정에서만 기를 수 있으므로 ... " "가능한 한 많은 프로그래밍 대회에 참가하기 실제 대회에 참가해서 다른 사람과 경쟁하는 경험은 혼자서 문제를 푸는 것보다 훨씬 많은 도움과 자극이 됩니다. 그것이 인터넷 모의고사라고 하더라도 대회가 끝난 뒤 혼자서 연습하는 것보다 훨씬 도움이 되기 때문에 가능한 한.. 2021. 5. 2.