본문 바로가기

전체 글155

[ 알고리즘 ] 이진 탐색이란? 시간의 복잡도 계산하기 이진 탐색이란? 시간의 복잡도 계산하기 배열을 대상으로 이진 탐색 알고리즘을 적용하기 위해서는 배열에 저장된 데이터가 정렬되어 있어야 합니다. 즉, 이진 탐색 알고리즘은 정렬된 데이터가 아니면 적용이 불가능합니다. 그럼 이해를 위해 그림을 먼저 보겠습니다. 다음과 같이 정렬된 배열이 있습니다. 배열의 요소 중 3은 어느 인덱스에 있는지 알고 싶다고 가정하겠습니다. 1. 배열의 가운데를 찾기 위해 인덱스의 시작과 끝을 더해 2로 나눕니다. 2. 인덱스 3에 있는 요소와 목표값이 같은지 비교합니다. 3. 아니네요. 인덱스 3에 있는 요소(7)는 목표값(3)보다 큽니다. 4. 범위를 0~2로 하여 다시 인덱스의 시작과 끝을 더해 2로 나눕니다. 5. 인덱스 1에 있는 요소와 목표값이 같은지 비교합니다. 6. .. 2020. 7. 5.
기장 동부산 이케아 다녀온 후기 🛋️ / 식당에서 점심🍗 / 지하 상점에서 딸기 아이스크림🍦 동부산 이케아 영업시간/층별안내/주차장/주소/연락처/식당/쇼룸/후기 지난 주 친구와 함께 기장 이케아에 다녀왔습니다. 월요일 아침 오픈 시간에 맞춰 10시에 딱 도착했는데요. 😉 평일 오전이라 사람이 많이 없어서 여유있게 잘 구경했습니다. 이케아 동부산점 주소: 부산 기장군 기장읍 동부산관광3로 17(당사리 13-4) 전화번호: 1670-4532 홈페이지: www.ikea.com/kr/ko/stores/dong-busan/ 영업시간: 매장 10시~ 22시 / 레스토랑 9:30~ 21:30 주차: 무료 층별 안내 3층 - 쇼룸, 이케아 레스토랑 & 카페 2층 - 홈퍼니싱 악세사리, 스몰랜드 놀이공간 1층 - 계산대, 교환 및 환불 P1 매장 나가는 곳, 온라인 픽업, 주차장 ■ 이케아 주차장 네비에 동부산.. 2020. 7. 4.
[ 알고리즘 ] 순차 탐색(Linear Search) 이란? 시간 복잡도 계산하기 순차 탐색(Linear Search) 이란? 최악의 경우 시간 복잡도 계산하기 순차 탐색이란 말 그대로 맨 앞에서부터 순서대로 탐색을 하는 알고리즘입니다. 순차 탐색 알고리즘을 적용한 코드를 보겠습니다. ※ 윤성우의 열혈 자료구조 책에서 코드 참고하였습니다. 위의 코드 중 실제로 순차 탐색 알고리즘을 구현하는 부분입니다. for문을 통해 인덱스를 1씩 증가하여 배열를 처음부터 끝까지 목표값과 비교(==)합니다. 그래서 배열(arr)에서 목표값(target)을 찾으면 그 값의 인덱스(i)를 반환합니다. 이제 위의 코드를 토대로 시간 복잡도(Time complexity) 를 분석해볼까요? 데이터의 수 n에 대한 연산 횟수의 함수 T(n) 구해봅시다. 연산 횟수라 했으니까 이 알고리즘에서 사용된 연산자 2020. 7. 4.
좋은 알고리즘을 평가하는 요소(시간복잡도, 공간복잡도) 좋은 알고리즘을 평가하는 요소(시간복잡도, 공간복잡도) 지금 잠시 차🚗를 새로 구입한다고 생각해보세요. 1) 집에서 회사까지 이동만 할 수 있는 차 2) 집에서 회사까지 소음 적고, 연비 좋고, 오르막 길에서 기를 쓰지 않아도 속도내며 이동할 수 있는 차 둘 중에 어느 차를 선택하실 겁니까? 아마 대부분이 2번을 고를 겁니다. 우리는 잘 동작하는 것은 물론이고 성능까지 보장받기 원하니까요. 알고리즘에도 똑같이 적용됩니다. 그저 잘 동작하는 자료구조와 알고리즘(이하 '알고리즘'으로 총칭)을 찾는다면 필요한 기능만 보면 되겠죠. 하지만 성능도 따지고 싶기 때문에 알고리즘을 분석할 줄 알아야 합니다. 크게 두 가지 요소가 있습니다. 특정 상황에서 1) 어떤 알고리즘이 더 빠른가? 2) 어떤 알고리즘이 메모리를.. 2020. 7. 3.
자료구조와 알고리즘 개념 쉽게 이해하기 자료구조와 알고리즘은 무엇인가 '알고리즘은 자료구조에 의존적이다.'라는 말을 들어본 적이 있을 것입니다. 도대체 자료구조와 알고리즘이 뭐길래 저런 관계가 성립이 되는 걸까요? 개념을 파악하기 위해 프로그램의 간단한 정의를 봅시다. 프로그램은 크게 두가지를 합니다. 1) 데이터의 표현 (자료구조) 2) 데이터의 처리 (알고리즘) 1) 데이터 표현에는 데이터를 저장하는 일을 포함됩니다. 여러분은 이미 데이터를 저장해본 적이 있습니다. 정수를 저장하기 위해 int형 변수를 선언하고, 다양한 정보를 활용하기 위해 배열을 사용했죠. 넓은 의미로 int형 변수와 배열은 자료구조의 일종입니다. 2) 그렇게 표현된 데이터(int형 변수나 배열)를 가지고 문제를 해결하는 것이 알고리즘입니다. 간단한 코드를 보겠습니다. .. 2020. 7. 3.
목표 달성 러닛 X 부스트코스 안드로이드, iOS 솔직 후기 (2개월) 온라인 스터디 목표 달성 러닛 X 부스트코스 안드로이드, iOS 클래스 솔직 후기 안녕하세요. 오늘은 온라인 스터디 러닛 학습 후기를 알려드리려고 합니다. 지난 4월 초에 네이버 부스트코스가 러닛과 손잡아 iOS 입문과 안드로이드 입문 과정 스터디 개설하였습니다. 그 시기에 신청하면 부스트코스 코드 리뷰 1회 비용을 지원받을 수 있다하여 당장 등록했습니다. 그렇게 시작한 코스는 6월에 마무리 하였습니다. 당시 러닛 서비스가 생긴지 얼마 안되었고, 인터넷에 후기도 별로 없어서 진짜 학습 효과가 있을지 긴가민가 했는데 직접 코스를 완주하고 나니 나름의 느낀 점이 있어 이렇게 글을 쓰게 되었습니다. 지금 저처럼 고민하시는 분들에게 조금이라도 도움이 되면 좋겠네요. ■ 러닛이란? 일단 러닛에 대해 간단히 알려드.. 2020. 7. 3.
[책리뷰]이것이 안드로이드다 with 코틀린 이것이 안드로이드다 with 코틀린 독학 책 추천 / 가격 / 분량 / 프로그래밍 공부 방법 안녕하세요. 오늘은 안드로이드앱을 만드는데 사용되는 코틀린 언어를 독학할 수 있는 책을 소개해드리려고 합니다. 저는 이제까지 안드로이드 모바일 앱을 개발하는데 자바만 사용했습니다. 아직까지 공식 구글 문서도 자바, 코틀린 두가지 언어로 예제를 알려주고, 구현하고 싶은 기능을 구글에 검색하면 대부분 자바로도 찾을 수 있어서 요즘 대세(?)인 코틀린의 필요성을 크게 느끼지 못했는데요. PageViewer2나 Fragment와 액티비티 관계를 쉽게 관리해주는 Manager(???)같은 기능들은 (ㅠㅠㅠ용어가 기억이 안나요) 비교적 최근에 나온 기술들이라 구글 검색해도 코틀린로만 예제가 나와서 코틀린에 친숙하지 않은 저.. 2020. 7. 2.
처음으로 크몽에 안드로이드 앱 개발 수정 외주 맡긴 후기 처음으로 크몽에 안드로이드 앱 개발 수정 외주 맡긴 후기 프로그래밍을 공부하다가 문법에 질려서 동기부여를 위해 뭔가를 만들어 보기로 결심을 하였습니다. 평소에 모바일 앱을 만들고 싶었는데 아이폰과 안드로이드 폰(갤럭시, LG) 사이에서 고민하다가 당시 가지고 있는 기기는 윈도우가 깔려있는 씽크패드이고, 안드로이드 개발자 계정비가 상대적으로 저렴해서 안드로이드 앱 개발을 하기로 했습니다. (개발자 계정비: 안드로이드 약 3만원, 아이폰(iOS) 약 12만원) 그렇게 원하는 앱을 만들기 위해 삽질하고 많은 패닉에 빠지면서ㅎㅎ 드디어 제가 원하는 기능이 (어느 정도만) 들어간 앱이 마무리 단계에 이르게 되었습니다. 하지만 끝까지 구현하지 못한 기능이 있었는데 바로 구글 인앱 결제 기능입니다. 앱 광고 제거 시.. 2020. 6. 4.
네이버 부스트코스 안드로이드 프로그래밍 프로젝트3) 4서비스-5브로드캐스트 수신자 개념 연습문제 네이버 부스트코스 안드로이드 프로그래밍 프로젝트3_4서비스-5브로드캐스트 수신자 개념 연습문제 네이버 부스트코스 안드로이드 프로그래밍을 수강하고 있습니다. 강의보며 예제를 따라하고 있으나 코드가 이해되지 않아 개념을 익히기 위해 셀프체크지를 만들었습니다. 정재곤 선생님의 안드로이드 프로그래밍 강좌를 참고하였습니다. www.edwith.org/boostcourse-android/lecture/17069/ [LECTURE] 1) 브로드캐스트 수신자 : edwith 들어가기 전에 브로드캐스팅(Broadcasting)이란 방송의 의미로 여러 사람에게 동시에 데이터를 전달한다는 뜻입니다. 여러분이 잘 아는 MBC, KBS 그리고 SBS 방송사의 ... - 부스트코스 www.edwith.org 개념문제 1장 + 답.. 2020. 5. 28.
네이버 부스트코스 안드로이드 프로그래밍 프로젝트3) 1화면전환~3수명주기 개념 연습문제 네이버 부스트코스 안드로이드 프로그래밍을 수강하고 있습니다. 강의보며 예제를 따라하고 있으나 코드가 이해되지 않아 개념을 익히기 위해 셀프체크지를 만들었습니다. 아래 문제는 정재곤 선생님의 부스트코스 안드로이드 프로그래밍 강좌에 나오는 내용 정리를 참고하였습니다. www.edwith.org/boostcourse-android/joinLectures/13160 [부스트코스] 안드로이드 프로그래밍 강좌소개 : edwith - 부스트코스 www.edwith.org 필요하신 분은 출력해서 사용하세요. 문제 2페이지, 답 1페이지 (총3장) 범위: 프로젝트 3) 1 화면전환 ~ 3 수명주기 [부스트코스] 안드로이드 프로그래밍 3 화면 여려 개 만들기 3_1 화면 전환하기 안드로이드 애플리케이션 구성요소 4가지는 .. 2020. 5. 28.
[ 안드로이드 ] 자바 소스로 커스텀 버튼 만들기 2020 안드로이드 스튜디오 자바 소스 파일로 커스텀 버튼(Custom Button) 만들기 xml 파일 없이 java 소스 파일로만 버튼을 상속 받아 새로운 버튼 객체를 만들 것입니다. 버튼을 클릭 시 배경색이 바뀌도록 설정합니다. STEP 1 자바 클래스 만들기 - 저는 클래스명을 CustomButton이라고 했습니다. - AppCompatButton를 상속받습니다. STEP 2 생성자 만들기 - 맥이라면 Cmd + N 단축키 눌러서 생성자를 쉽게 가져옵니다. - 파라미터 Context만 받는 것과 Attribute랑 같이 받는 것 두 개를 불러 옵니다. STEP 3 버튼 초기 모습을 설정하기 위해 init()메서드를 만듭니다. 3.1 res 폴더 - dimens xml 파일을 추가합니다. 16dp .. 2020. 5. 22.
가장 기초 스위프트 문법 개념, 한 장에 셀프체크하기(출력용) 아울렛변수, 액션함수, 함수, 익명 함수, nil, 옵셔널 함수, self, 프로토콜, iOS 문법, 아이폰앱개발, 앱프로그래밍 독학 코드를 이해하지 않은 채 무작정 예제 코드만 베끼다 보면 앱 실행은 되더라도 뭔가 찝찝하더라고요. 예제 없이 새로 코드를 작성할 수 있을까 하는 생각에 막막하기도 하고요... 그래서 간단히 문법만 정리해서 빈칸 채우기식으로 셀프체크지를 만들어 보았습니다. 정말정말정말 기초적인 문법이죠ㅎㅎ 한 페이지라 부담없이 아침에 일어나자마자 1장 풀려구요. 딱 일주일만 하고 애플 공식 문서를 읽어보겠습니다! 참고책: Do it! 스위프트로 아이폰 앱 만들기 이지스 퍼블리싱 26번 답: 논리값, 논리값 🌕 🌖 🌗 🌘 🌑 🌒 🌓 🌔 🌕 오 늘 도 수 고 하 셨 습 니 다 ---------.. 2020. 5. 22.
국내총생산 명목GDP, 실질 GDP,실질 GDP 성장률,GDP 디플레이터 구하는 방법 국내총생산 명목GDP, 실질 GDP, 실질 GDP 성장률, GDP 디플레이터 구하는 검색 방법 ■ 명목GDP, 경제성장률 실질 GDP 성장률 검색 방법 1. http://www.index.go.kr/potal/stts/idxMain/selectPoSttsIdxSearch.do?idx_cd=2736&stts_cd=273601&freq=Y 시계열조회 : e-나라지표 시계열조회 체크리스트 지표명 국내총생산 및 경제성장률 (GDP) 통계표명 국내총생산 및 경제성장률 초기화 주기 기간 ~ 조회 ○ 통계표 [단위 : 십억원, 전년동기비 %] 엑셀저장 출처 : 한국은행�� www.index.go.kr 2.http://www.index.go.kr/potal/main/EachDtlPageDetail.do?idx_cd=2.. 2020. 5. 19.
[2020 안드로이드 스튜디오] 스피너 (spinner) 사용 예제 [ 2020 안드로이드 스튜디오 ] 스피너 (spinner) 사용 예제 Android Studio Version 3.6.3 사용언어 JAVA 스피너를 사용하면 선택하기 전 View1과 선택하는 중 View2가 있습니다. 하지만 SDK에서 미리 만들어 제공하는 레이아웃을 사용하면 간단히 몇 줄의 코드만으로 스피너를 만들 수 있습니다. STEP 1 xml 구성하기 - 스피너 태그를 이용해 XML 레이아웃에 추가하고 어댑터 객체를 만들어 설정합니다. - 스피너에 들어가는 각 아이템은 텍스트만 보여주는 경우가 많아서 안드로이드 SDK에서 미리 제공하는 XML레이아웃을 그대로 사용할 수 있습니다. - ArraryAdapter는 아이템을 위한 여러 개의 데이터를 담아두기 위해 미리 만들어졌습니다. - 스피너는 항목.. 2020. 5. 16.
[2020 안드로이드 스튜디오] 리스트뷰(ListView), 어댑터(Adapter) 이해 &기본예제 [2020 안드로이드 스튜디오] 리스트뷰(ListView) 이해 &예제, 어댑터 개념 Android Studio Version 3.6.3 사용언어: JAVA STEP 1 아이템을 위한 XML 레이아웃 정의하기 - 리스트뷰에 들어갈 각 아이템의 레이아웃을 XML로 정의합니다. ※ 예제 만들 때 파일명을 single로 한다는게 singer로 오타냈네요. 코드가 돌아가는데는 이상이 없습니다. 무시하고 원하는 대로 네이밍 하시면 됩니다. ※ ■ singer_item_list.xml STEP 2 아이템을 위한 뷰 정의하기 - 먼저 하나의 아이템을 정의하는 클래스를 만듭니다. - 아이템을 구성할 요소는 이미지, 텍스트2개 입니다. 즉, 변수 3개를 선언하면 되겠죠. ■ SingerItem.java package c.. 2020. 5. 16.
스타벅스 신메뉴 피치 레몬 블랜디드 리뷰 스타벅스 신메뉴 피치 레몬 블랜디드 맛/칼로리/가격 리뷰 안녕하세요. 오늘은 스타벅스 신메뉴인 피치 레몬 블랜디드를 마셨습니다. 저는 항상 상큼과 달콤 중 선택하라고 한다면 달콤을 고르는데요. 그만큼 달달한 것을 좋아합니다. 먹을 때 눈이 찡그러지는 오렌지, 키위, 레몬을 별로 안 좋아해요.. 하지만 이번에 새로운 시도를 해보고자 스타벅스 신메뉴인 피치 레몬 블랜디드를 주문했습니다. tall사이즈로 구매했고, 가격은 6,100원이었습니다. 맛은 자이톨맛 아주 살~짝 나는 복숭아 맛에 상큼한 레몬 맛이었습니다. 은은하게 달았어요. 빨대로 마시면 뭔가 씹히는게 올라오는데 코코팜 음료 안에 들어있는 딱 그 알갱이었어요. 또 형체가 없는 말랑한 젤리도 있습니다. 식감이 다양해서 재미있더라구요.😜 칼로리는 120.. 2020. 5. 16.
창업 준비하면서 사업 아이템 발표회에서 받은 질문들(아이템: 모바일 애플리케이션) 창업 준비 시 사업 아이템 발표회에서 심사위원으로부터 받은 질문들 (창업 아이템: 모바일 애플리케이션) 지역 대학교에서 지원하는 프로그램 최종합격 안녕하세요. 저는 최근에 중소벤처기업부에서 지원했던 일반분야, 특화 분야에서 다 떨어졌습니다. 그래서 마음 편하게 해탈의 길로 들어설 때 쯤 예상치 못한 곳에서 서류합격 문자를 받았습니다. 바로 제 주소지가 등록된 지역 대학교에서 진행한 사업자지원 프로그램이었습니다. 지원자 범위는 예비창업자부터 기존에 하고 사업을 하고 계신 분도 포함이 되서 경쟁률이 높을 거라 예상하고 있었는데요. 그래도 전국단위로 진행하던 예비창업패키지보다는 훨씬 덜 할 것 같아 지원해보았습니다. 결과는 최종 합격입니다. 🥳🥳🥳 지원금은 1,200만원 정도입니다. 사업을 하기에 턱없이 부족.. 2020. 5. 15.
[책리뷰] 배워서 바로 쓰는 스프링 프레임워크 한빛미디어 책 추천 한빛미디어 배워서 바로 쓰는 스프링 프레임워크 프로그래밍 책 추천 리뷰 웹 MVC, 하이버네스트, JPA, 리액터, Rx.Java 2, AOP, 보안, 메시징, 스프링 웹 MVC 가이드 간편한 개발을 위한 스프링 부트 국내에서 가장 널리 쓰이는 프레임워크 중 하나로 스프링이 있습니다. 스프링 부트를 사용해 간편하게 개발을 시작할 수 있으며, 마이크로서비스 아키텍처에 사용할 마이크로서비스를 스프링JAR로 가볍게 배포하는 형태로도 많이 쓰이고 있습니다. 그래서 스프링 프레임워크의 내부 구조를 이해하고 애플리케이션 컨텍스트 XML, 내어페이션, 스프링 프레임워크 자바 메서드 호출 사이의 관계를 잘 이해해야 하는데요. 그런 스프링에 대해 이해도를 높이고 싶은 학습자를 위해 나온 책이 있습니다. 바로 한빛미디어에.. 2020. 5. 14.
알고리즘 문제풀기 무료 사이트 모음 프로그래밍 알고리즘 문제풀기 무료 사이트 모음 1. 코딩도장 다양한 알고리즘 문제를 풀 수 있습니다. 랭킹을 볼 수 있어 내 수준을 파악할 수 있습니다. codingdojang.com 코딩도장 프로그래밍 문제풀이를 통해서 코딩 실력을 수련 codingdojang.com 2. 네이버 엘리스 이지스 퍼블리싱 출판사에서 나오는 교재들과 함께 공부할 수 있습니다. 주제는 C, JAVA, Html, Python 등으로 정말 많습니다. 입문자 입장에서 각 언어에 맞는 툴을 설치하기에 부담스럽고 딱 프로그래밍 공부에만 집중하고 싶은 분에게 좋은 사이트인 것 같습니다. 유료 과정도 있으나 무료도 많아서 잘 활용해보시길 바랍니다. academy.elice.io/explore 엘리스 :: elice 기업, 대학, 초중고교.. 2020. 5. 13.
스타벅스 신상 메뉴 피스타치오 크림 프라푸치노 솔직후기 스타벅스 5월 신상 음료 메뉴 피스타치오 크림 프라푸치노 가격 / 양 / 칼로리 / 솔직 맛 후기 / 리뷰 안녕하세요. 오늘은 스타벅스에 다녀왔습니다. 그새 신메뉴가 많이 나왔더라구요. 피스타치오 크림 프라푸치노, 더블 에스프레소 칩 프라푸치노, 피치 레몬 블렌디드, 초콜릿 블랙 콜드 브루 4종이 출시되었습니다. 그 중 가장 기대되었던 피스타치오 크림 프라푸치노을 마셔보았습니다. 이제 사회적 거리두기로 진행했던 개인컵 사용 제한이 풀렸습니다. 5월 10일자로 종료되었다고 하네요. 그래서 저는 피스타치오 크림 프라푸치노를 톨 사이즈로 주문해서 350ml 용량 텀블러에 담아달라고 하였습니다. 양이 넘치지지 않고 딱 맞았네요🤗 자바칩은 반반으로 따로 추가했습니다. 불투명 텀블러로 내용물이 안 보일까봐 스타벅스.. 2020. 5. 13.