[Python] 이것이 코딩테스트다 6장 정렬
·
💡 CodingTest/이것이코딩테스트다
정렬의 핵심 선택 삽입 퀵 계수 합병 버블 평균시간복잡도 O(n^2) O(n^2) O(nlogn) O(N+K) O(nlogn) O(n^2) 선택 정렬 선택 정렬은 코드가 구현하기 쉬우나, 데이터의 갯수가 늘어나면 늘어날 수록 현저히 느리게 작동하는 것을 확인 할 수있다 데이터가 많아지면 비효율적이다 삽입 정렬 삽입 정렬은 선택 정렬과 같이 O(n^2)이지만 실제 실행시간 측면에서는 조금 더 효율적이라고 알려져 있다 그리고 거의 모든 데이터가 정렬이 되어있다면 삽입 정렬은 가장 효율성이 극대화된다 최선의 경우 O(N)의 시간까지 극대화 될 수 있다 즉, 거의 정렬이 되어있다면 속도 : 삽입정렬 > 퀵정렬 퀵 정렬 대부분 라이브러리 하면 사용되는 정렬. 기본적으로 분할을 이용하기 때문에 기하급수적으로 줄어들..
[Python] 이것이 코딩테스트다 5장 BFS/DFS
·
💡 CodingTest/이것이코딩테스트다
BFS 와 DFS의 핵심 완전탐색이라면 BFS, DFS에서 사실상 시간은 비슷하지만 일반적으로는 BFS가 더 성능이 좋고 보면된다. 왜냐하면 DFS는 재귀함수를 이용하며 BFS는 반복문을 기반으로 하기 때문 재귀와 반복의 시간차이는 피보나치 수열로 확인해보면 알 수 있다. 하지만, 완전 탐색이 아니라면 Backtracking같은 곳에서는 이야기가 다르다. 백트래킹에서는 DFS가 더 성능이 좋은경우가 많다. (예를들어 branch and bound) Best first search (우선순위 큐 이용) > Depth first search (스택 이용) > Breath first search (큐 이용) 순이다. 이 밖에 더 좋은 알고리즘이 있을 수 있다. 어찌됐든 완전탐색을 해야하는 경우라면 BFS를 선..
마이크로프로세서 용어정리
·
📗 Computer Science
TOY에서 LINK 명령어의 용도 : 함수를 호출하기 전에 되돌아올 주소를 R6에 저장해놓는 어셈블리 명령어 TOY에서 RET 명령어의 용도 : R6에 저장된 주소로 다음 실행위치를 이동하게하는 어셈블리 명령어 TOY에서 R0의 용도 : 함수 반환값을 전달하는 레지스터 함수별 스택 프레임 : 함수의 실행중에 인수 및 지역변수들을 포함하는 스택 메모리 영역. TOY에서 SP란? : 스택포인터로 R5에 해당하며 스택의 맨 윗부분을 가리키고 있다. TOY에서 FP란? : R4에 해당하며 스택 프레임의 기준이 되는 주소를 저장하는 레지스터 ARM과 x86의 함수 호출 비교: ARM은 함수호출시 BLAL func 이용하며 복귀시 MOV PC, R14를 이용한다. x86은 호출시 CALL func 복귀시 RET를 ..
[Python] 이것이 코딩테스트다 4장 구현
·
💡 CodingTest/이것이코딩테스트다
구현 파트의 핵심 구현은 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 그리고 공간복잡도와 시간복잡도를 얼추 따져보는 것이 완점탐색을 할 것인지를 결정할 수 있다. 공간복잡도의 관한 얘기 int 는 4바이트 이며 데이터 갯수가 1000개라 하면 약 4KB 메모리를 쓰게 된다. 그렇다면 128MB의 메모리 제한이 있는 곳에선 32000000개의 데이터까지 쓸 수 있다는 말이 된다. 시간복잡도의 관한 얘기 일반적으로 파이썬은 1초에 2000만번 (20000000)번의 연산을 수행하는 속도이다. 시간제한이 1초라는 것은 20000000번의 연산이하로 수행할 수 있다면 된다는 것이다. 그렇다면 데이터 제한을 보고 어느정도 시간복잡도가 허용되는 지 유추할 수 있다. 예를들어, 데이터가 2000만개까지 수행..
파이썬 외워야할 문법 정리
·
💡 CodingTest/Python
bop.wikibook.co.kr/oop.html 객체지향 프로그래밍 · GitBook 객체지향 프로그래밍 지금까지 작성한 모든 프로그램에서는 프로그램을 함수, 즉 데이터를 조작하는 문장 블록 위주로 설계했습니다. 이를 절차지향(procedure-oriented) 방식의 프로그래밍이라고 bop.wikibook.co.kr isalpha() x = 'a' x.isalpha() #x가 알파벳이면 true, 아니면 false 리턴 List에 값 추가 list = [] x=0 list.append(x) join list = ['a', 'b', 'c'] result = ''.join(list) print(result) #abc출력 List 초기화 # 2차원 리스트를 0으로 초기하는 방법 # n x m 을 0으로 초..
[Java] 배우들의 영화정보 API로 가져오는 앱 with 안드로이드 스튜디오(미완성)
·
🎈 안드로이드
개요 실시간으로 배우 이름을 치면 현재 출현했던 영화 정보들을 보여준다. 실행 동영상 기능 입력창에 배우이름을 쓰면 그 배우가 출현한 영화와 함께 출력된다. 영화가 2개 이상이라면 " [제일 처음으로 뜨는 영화] 외 $(n-1) 편" 을 출력한다. 배우의 동영이인이 여러명일 경우 모두 추가한다. 이름을 다 쓰지 않아도 검색한 글자가 들어간 배우는 모두 출력한다. 출력이 이루어지는 동안 동그란 loading 프로그래스바가 돌아간다. 출력창이 꽉차면 스크롤바로 내릴 수 있어야 한다. 입력한 이름에 해당하는 배우가 없을 경우, "검색결과 없음"을 출력한다. 이름에는 영문이름도 같이 뜨게 해주며, 없을 경우 한글 이름만 뜨게 한다. 중요한 코드 설명
[Python] 이것이 코딩테스트다 3장 Greedy
·
💡 CodingTest/이것이코딩테스트다
거스름돈 🔑 Key Point 가장 큰 화폐 단위부터 거슬러 주며 그 나머지를 이용하는 것 큰 수의 법칙 🎨 처음 짠 코드 직관적으로 짠다면 이 문제는 for 문이 1~2개 필요하다. 하지만 📌 반복문을 사용하지 않고, 구현이 가능한 아이디어 가 있다. 🎨 반복문을 사용하지 않는 BEST 코드 아이디어는 이렇다. 이 문제에서 가장 큰 수는 6이며, 그 다음 큰 값은 5이다. 이 두가지만 번갈아 쓴다면 답을 구할 수 있다. 🔑 Key Point 간과했던 부분은 📌똑같이 반복되는 구간이 발생한다는 점 이다. 6 6 6 5 6 6 6 5 ... M의 수에 따라 만족하는 만큼 위의 과정이 반복된다. 나누기를 잘 이용하면 몇번 반복되는지 알 수 있기 때문에 , 반복문이 필요 없다. #가장 큰 수가 더해지는 횟수 ..
2020 하반기 TOPCIT 탑싯 시험 후기
·
카테고리 없음
TOPCIT 후기탑싯 공부는 하려다가 공부 자료도 마땅치 않아서, 시험보러가는 전철에서 에센셜 조금만 보았다.점수는 454점이 나왔다  시험 직후 SQL문 하나도 못써서 점수 낮게 나올거 같단 생각을했는데 역시나 가장 낮은점수가 데이터 ㅠㅜ,,사실 sql문에 자신이 있는 편인데, 다 까먹은채로 가서 기본적인 sql문 까지 많은문젤 틀린게 좀 아쉽다 전날 보기만했다면 5-600점은 나왔을거 같아서 ,왠지 디비 다시보고 한번 더 TOPCIT 보고 싶은 마음이 생긴다   공부를 하려면 Topcit 에센셜을 pdf로 다운받아 보아야한다내용이 엄청 많고 전체 에센셜이 복원된 책은 찾기 힘들더라 ㅠ    다행히도 탑싯 3등급안에 들어 꽤 많은 기업들에서 가산점을 받을수 있다고 한다. www.topcit.or.kr/..
ios 채용 우대조건
·
🔮 회고 & 후기/회고
카카오워크** 사용 중인 기술Swift 를 사용하고 있으며 RxSwift 를 적극적으로 활용하고 있습니다. RxSwift 에 대한 이해가 있으면 좋지만 필수적인 것은 아닙니다. Swift 에 대한 이해, iOS or macOS 에 대해 더 잘알고 있는 것이 중요합니다. MVVM 아키텍쳐로 구성되어있습니다.현재 사용하는 기술목록입니다.- Swift- RxSwift- SQlite- WebSocket ( phoenix )  - 기업용 메시징 앱 iOS / macOS 버전을 개발- iOS / macOS 는 비지니스 논리 부분 등 많은 부분을 공유- catalyst 를 통해 개발하고 있어서 iOS / macOS 간의 경계가 얕아 공통 분모 개발  딜라이트룸 주요업무• Alarmy iOS 앱 신규 기능 개발 및 관..
안드로이드 채용 우대조건
·
🔮 회고 & 후기/회고
자격요건 - 학력: 대졸 이상(4년) - 성별: 무관 - Kotlin을 이용한 안드로이드 개발이 가능하신 분 - ReactiveX 등의 공용 라이브러리 사용에 능숙하신 분 - Android Service를 이용한 어플리케이션 경험 - AWS활용이 가능한 어플리케이션 경험 - Custom UI Component 개발이 가능하신 분 우대사항 - Bluetooth를 이용한 기기 통신에 능숙하신 분 - Android Library 배포 경험 - Public Library나 Private Library의 Pull Request를 사용해 보신 분 - Jenkins나 CircleCI 등을 이용한 ci 스크립트 관리 경험 - Annotation Process를 이용한 개발 경험 - OpenGL을 이용한 개발 경험 피플..
KeepIt 웹페이지 연결 & 토큰 저장 크롬익스텐션 개발 프로젝트
·
💊 Chrome Extension
KeepIt Chrome Extension 개요 KeepIt은 자신이 저장하고 싶은 웹사이트 링크들을 나만의 공간에 분류 및 저장할 수 있게 해주며, Instagram, facebook, Pinterest처럼 뉴스피드 형식으로 모아보기, 팔로우, 팔로워 기능이 있는 북마크 저장 웹사이트이다. 경영자 , 개발자, UX 디자이너 등으로 총 5명이 개발하는 중이며, 그 중에서 나는 크롬익스텐션 개발을 담당 하였다. 개발한 크롬익스텐션을 설명하기위해 KeepIt 웹사이트의 기능에 대하여 짧게 설명하겠다. www.keepit.site/ Keepit www.keepit.site KeepIt 사진 설명 KeepIt에서 로그인뒤 보이는 화면으로 사용자들이 저장한 링크, 코멘트 들을 뉴스피드처럼 한 곳에 모아 보여준다...
[Python] 나누기 연산자 /, // 차이점
·
💡 CodingTest/Python
파이썬에서 / 로 나누기 하면, 소수점까지 계산이 된다. //로 나누기하면, 소수점은 버린다. 몫의 개념. n=5 coint =2 count = n // coin #count는 2 count = n / coin #count는 2.5
슬라임 통통
'분류 전체보기' 카테고리의 글 목록 (6 Page)