본문 바로가기

전체 글156

특정 문자의 제거 문제- 문자열에서 문자를 효율적으로 삭제하는 함수를 작성하라. 함수 원형은 다음과 같다String removeChars(String str, String remove); remove라는 인자로 전달된 문자열에 있는 모든 문자를 str이라는 문자열에서 삭제한다.예를 들어 str이 "Battle of the Vowels: Hawaii vs. Grozny"로 주어지고 remove가 "aeiou"로 주어진다면 이 함수에서 str에서 str을 "Bttl f th Vwls: Hw vs. Grzny"로 변환시켜야 한다. 자신이 함수를 설계한 방식에 대해 합당한 근거를 제시하고 풀이의 효율에 대해 논하라. 처음 문제를 보고 앞에 문제(반복되지 않는 첫 번째 문자 찾기)에서 썼던 해시를 이용해서 풀어보려고 만지작 거리다.. 2018. 12. 5.
반복되지 않는 첫 번째 문자 찾기 문제- 문자열에서 처음으로 반복되지 않는 문자를 효율적으로 찾아내는 함수를 작성하라. 예를 들어 "total"에서 처음으로 등장하는 반복되지 않는 문자는 'o'이며, "teeter"에서 처음으로 등장하는 반복되지 않는 문자는 'r'이다. 작성한 알고리즘의 효율에 대해 논하라 간단하게 푸는 것은 반복분을 두번 돌려 검사하는 방식인데 이 방식은 최악의 경우 시간 복잡도가 이므로 효율적이지 못하다고 할 수 있다.그래서 생각했던게 해시맵을 사용하면 시간 복잡도에 유리하게 풀 수 있다고 생각했다.(풀다가 생각난건데 그냥 HashMap을 쓰면 순서가 뒤죽박죽이 되기 때문에 LinkedHashMap을 써서 순서를 유지하는 방식으로 풀었다.) findChar.java12345678910111213141516171819.. 2018. 12. 3.
오픈스택 아키텍쳐 오픈스택은 프로젝트마다 고유의 기능을 갖고있고 서로 유기적으로 연관되어있다. 1. Keystone (인증 서비스 사용자 관리)2. Glance (이미지 관리)3. Nova (가상머신 관리)4. Horizon (Web UI 대쉬보드)5. Neutron (가상 네트워크 관리)6. Cinder (가상 스토리지 관리)7. Swift (클라우드 저장 스토리지 관리) 이 프로젝트간 공통된 특징은 다음과 같다. - Rest API 를 위한 API 서버가 있다.- 인증을 위한 Keystone 플러그인이 있다.- Rest API 를 쉽게 호출할 수 있게 client 라이브러리를 가지고 있다.- 필요한 메타 데이터 정보는 DB 를 활용한다.- 프로젝트간 통신은 Rest API 를 사용한다 Keystone 통합 인증 시스템.. 2018. 12. 2.
/etc 1. 파일명에 공백, 한글 지양2. 시간복잡도를 고려하자3. 배열에 인덱스를 지정해서 접근하는 방식은 매우 위험 ex)for문으로 배열 접근 solution) for-each문을 최대한 활용하자. 2018. 11. 6.