이 영역을 누르면 첫 페이지로 이동
hoonDEV 블로그의 첫 페이지로 이동

hoonDEV

페이지 맨 위로 올라가기

hoonDEV

공부

  • hoonDEV
Java Type-casting (타입 캐스팅)

Java Type-casting (타입 캐스팅)

2020.06.25
Implicit Casting (암시적 캐스팅) 정보의 손실, 오류의 가능성이 없는 경우에 허용 (ex: double d = 3;) : int -> double Explicit Casting (명시적 캐스팅) 오류의 가능성이 있다. 따라서 프로그래머의 판단에 오류의 가능성이 없고, 타당성이 있을 경우에만 시행함. (ex: int i = (int)3.0;) : double -> int, 소수점이 없으므로 손실이 없음. (ex: int i = (int)3.3;) : double -> int, 소수점이 손실됨.
Java Literals (리터럴 상수)

Java Literals (리터럴 상수)

2020.06.25
Number Literals Integer Literals, Floating-Point Literals 등을 포괄하는 의미 Integer Literals Integer Literal은 Integer Variable(정수 자료형)에 할당될 수 있다. Literal 값이 Variable의 최대 할당 크기를 초과하면 컴파일 오류가 발생한다. long type를 명시적으로 표현하려면 L 또는 l을 붙인다. (ex: long longVal = 3141592L;) Floating-Point Literals 기본적으로 Floating-Point Literal은 double 타입으로 취급된다. (5.0 리터럴은 double이다.) float임을 명시적으로 표현하려면 숫자 뒤에 F 또는 f를 붙인다. double임을 명..
Java Modifiers (접근 제어자)

Java Modifiers (접근 제어자)

2020.06.25
Modifiers의 종류 public protected default private 접근 허용범위 : public > protected > default > private public public이 붙은 변수, 메소드는 어떤 클래스에서라도 접근이 가능하다. default 접근 제어자가 따로 설정되지 않았을 때를 뜻한다. 동일 패키지 내에서만 접근이 가능하다. protected default 처럼 동일 패키지 내에서는 모두 접근이 가능하다. default와 다른 점은 다른 패키지에서도 제한적으로 접근이 가능하다는 것이다. 정확히 말하면, 다른 패키지에서 해당 클래스를 상속받는 파생 클래스에서 접근이 가능하다. private 가장 접근 권한이 적은 접근 제어자이다. 해당 클래스에서만 접근이 가능하다.
ES6에서 배열을 활용하는 다양한 방법

ES6에서 배열을 활용하는 다양한 방법

2020.06.25
기존의 forEach() 배열 전체를 돌며 해당 배열의 요소에 어떠한 작업을 수행할 수 있는 메소드이다. 사용법 arr.forEach((element, index, arr) => { 작업 }); (return은 undefined) 예시 let arr = [1, 2, 3]; let arr2 = []; arr.forEach((element, index, arr) => { console.log('현재 값은 ' + element + '이며, 인덱스는 ' + index + '입니다.'); // A arr2.push(element * index); // B element *= 2; /* 현재 값은 1이며, 인덱스는 0입니다. 현재 값은 2이며, 인덱스는 1입니다. 현재 값..
[C++ STL] list 알아보기

[C++ STL] list 알아보기

2020.04.03
개요 특징 vector와 deque와 같은 Sequence Container의 한 종류이다. 이중 연결 리스트라고 잘 알려져 있는 자료구조를 구현해놓은 컨테이너이다. 다른 Sequence Contianer와 달리 멤버 함수로 sort()와 merge() 그리고 splice()가 있다. 이중 연결 리스트 자료구조의 특성상 노드 기반 컨테이너이므로 임의 접근이 불가능하다. (a[3], a.at(3)) 중간에 원소를 삽입(insert), 제거(erase)하는 작업은 O(1)의 시간 복잡도를 가진다. 값의 비교로 원소를 제거하는 remove()와 remove_if()를 제공한다. 자세히 알아보기 선수 항목 #include using namespace std; 선언 std::list 이름; (using names..
[C++ STL] upper_bound, lower_bound 알아보기

[C++ STL] upper_bound, lower_bound 알아보기

2020.04.03
lower_bound 개요 특징 이진 탐색(binary_search)의 근간이 된다. algorithm 헤더에 포함되어 있다. 설명 이진 탐색 기반의 탐색이므로, 배열 또는 리스트가 오름차순 정렬되어 있어야 한다. 찾으려고 하는 key 값이 없으면, key 값 이상인 값들 중, 가장 작은 값을 찾는다. 그리고 그 위치를 반환한다. (값 반환 X) 값을 얻기 위해서는 * 연산자를 사용한다. (예: *lower_bound(v.begin(), v.end());) 같은 수가 여러 개 존재하여도 상관 없다. 자세히 알아보기 선수 항목 #include using namespace std; 사용 일반적인 사용 : lower_bound(Iterator first, iterator last, 찾으려는 value); 또 ..
[C++] vector의 reserve()로 push_back() 시간을 줄이자!

[C++] vector의 reserve()로 push_back() 시간을 줄이자!

2020.03.19
문제 인식 C++ STL의 vector는 push_back()을 통해 배열의 원소를 계속 늘릴 수 있다. 그러나, vector가 처음 선언될 때 예약되어 있던 '용량'을 초과해버리면, 그보다 더 '큰' (2배 정도) 용량의 메모리를 할당한 후 기존의 원소를 모두 복사하고, 기존의 메모리는 해제하는 작업을 거친다. 즉, 이 작업에는 할당 -> 복사 -> 해제의 비용이 들어간다. 이 작업의 시간 복잡도는 O(1)로 알려져있으나 이는 엄연히 Amotized Analysis 즉, 분할 상환 분석법을 통해 구해진 시간 복잡도일 뿐이며, 최악의 경우 O(N)까지 시간 복잡도가 커질 수 있다. 한 마디로, 재할당이 많이 일어나면 일어날 수록 성능이 매우 떨어진다는 의미이다. 실제로 BOJ 문제에서 이로 인해 시간 초..
  • 최신
    • 1
    • 2
  • 다음

정보

hoonDEV 블로그의 첫 페이지로 이동

hoonDEV

  • hoonDEV의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그

카테고리

  • 분류 전체보기 (91)
    • 일상 (13)
      • 후기 (1)
      • 계획 (11)
    • 공지사항 (1)
    • 알고리즘 (54)
      • 문제풀이 (53)
      • 이론 (1)
    • 공부 (19)
      • React (0)
      • Angular (5)
      • Java (3)
      • C, C++ (3)
      • JavaScript (6)
      • WEB (2)
    • 디자인 (1)
      • UI, UX (1)
    • 개발 (0)
      • boom (0)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 백준
  • 그리디
  • 알고리즘
  • dp
  • es6
  • 문제풀이
  • javascript
  • 이분탐색

나의 외부 링크

정보

훈개발자의 hoonDEV

hoonDEV

훈개발자

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 훈개발자. Designed by Fraccino.

티스토리툴바