본문 바로가기

전체 글

(104)
2022.11.17 JAVA 객체지향 추상 클래스 추상메소드를 선언할 수 있는 클래스, 클래스와는 달리 상속받는 클래스 없이 그 자체로 인스턴스를 생성할 수 없음. 형식 : abstract 리턴타입 메소드이름(); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 abstract class Bird { private int x, y, z; void fly(int x, int y, int z) { printLocation(); System.out.println("이동합니다."); this.x = x; this.y = y; if (flyable(z))..
2022.11.16 TIL JAVA 날짜와 시간 Java에서의 날짜와 시간 java.time패키지에 포함. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class Main { public static void main(String[] args) { System.out.println("now()를 활용하여 생성"); LocalDate date = LocalDate.now(); LocalTime time = LocalTime.now(); LocalDateTime dateTime = LocalDateTime.now(); System.out.println(date); System.out.println(time); System.out.println(dateTime); System.out.println("of()를 활용..
2022.11.15 TIL JAVA 예외, 에러 처리 예외처리의 목적 예외의 발생으로 인한 실행 중인 프로그램의 비정상 종료를 막기 위해 개발자에게 알려서 코드를 보완할 수 있도록 하게 위해 자바에서는 상속을 이용해서 모든 예외를 표현합니다. 모든 예외 클래스는 Throwable의 자손 클래스 입니다. Throwable 에는 크게 두 종류의 자식 클래스가 있습니다. Error 는 프로그램이 종료되어야 하는 심각한 문제를 표현합니다. 대부분 컴퓨터나 JVM이 시스템적으로 동작할 수 없는 상황을 표현합니다. Exception 은 프로그램이 종료되지는 않지만 예외나 문제상황을 표현하기 위해 사용합니다. 예외 상황은 대부분 Exception 종류 실행도중 발생하는 Exception은 RuntimeException을 상속받아서 정의 파일을 읽고 쓰거나, 원격에 있는..
2022.11.14 TIL 알고리즘 4장 트리 - 계층형 비선형 자료 구조 선형구조는 자료를 저장하고 꺼내는 것에 초점이 맞춰져 있고, 비선형구조는 표현에 초점이 맞춰져 있습니다. Node: 트리에서 데이터를 저장하는 기본 요소 Root Node: 트리 맨 위에 있는 노드 Level: 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node: 어떤 노드의 상위 레벨에 연결된 노드 Child Node: 어떤 노드의 하위 레벨에 연결된 노드 Leaf Node(Terminal Node): Child Node가 하나도 없는 노드 Sibling: 동일한 Parent Node를 가진 노드 Depth: 트리에서 Node가 가질 수 있는 최대 Level 이진 트리의 높이는 최대로 해봤자 O(log(N)..
[WIL] 2022.11.07~11.11 새로운 조원들과 본격적인 교육훈련을 시작하였다. 자바기초, 파이썬 기초 등 기초과목을 수강하는 주라서 가벼운 마음으로 임했으나... 알고리즘을 간과했다. 대학시절 자료구조나 알고리즘에 대해 강의 들어서 어느정도 알고 있었으나 새롭게 알게된 내용이 많았고 교육생들마다 각각의 방식으로 과제를 푸는 것이 인상적이었다. 오히려 전공자인 나는 전형적인 방법으로만 알고리즘 문제를 풀다보니 새로운 방법을 터득하는데 애를 먹었다. 그라다보니 진도가 생각보다 안나가는 중인데 다음 주차부터는 더 몰입하여 다가오는 프로젝트는 물론 자바 스프링도 섭렵하여 부끄럽지 않은 신입사원이 되어야겠다.
2022.11.11 TIL 알고리즘 정렬 / CPU 정렬 버블 정렬 배열의 첫 번째 원소부터 차례대로 비교하여 정렬 예시코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 input = [4, 6, 2, 9, 1] def bubble_sort(array): n = len(array) for i in range(n): for j in range(n - i - 1): if array[j] > array[j + 1]: array[j], array[j + 1] = array[j + 1], array[j] return array bubble_sort(input) print(input) print("정답 = [1, 2, 4, 6, 9] / 현재 풀이 값 = ",bubble_sort([4, 6, 2, 9, 1])) print("정답 = [..
2022.11.10 TIL 알고리즘 배열 배열은 크기가 정해진 데이터의 공간 정적으로 선언 시 크기 변경 불가능 각 원소에 즉시 접근 가능, 시간 복잡도 O(1) 원소 추가,삭제 시 새로운 공간을 할당해야 함, 비효율적 O(N) Lingked List(연결 리스트) train_compartments = ["기관실"] -> ["시멘트"] -> ["자갈"] -> ["밀가루"] -> ["우편"] Head와 Next를 통해 중간에 원소 삽입,삭제가 용이함 O(1) 반면 조회는 첫 원소부터 차례대로 조회하므로 시간 복잡도는 O(N) 자료구조 선택 시 고려사항 삽입시각, 삭제시간, 검색시간, 정렬여부 간단한 개념이고 많이 학습했지만 그때마다 헷갈리는 자료구조
2022.11.09 파이썬 기초 문법과 알고리즘 기본 파이썬 기초 문법 튜플 - 불변형 배열 [] 대신 ()사용 수정 불가능 집합 - set(list_Name), 중복 제거, & 교집합, | 합잡합, - 차집합 f-string - print(f'{name}의 점수는 {score}입니다') 예외처리 - *남용 주의 for person in people: try: if person['age'] > 20: print(person['name']) except: print('에러입니다.') 파일 불러오기 from file_name import * : 파일의 모든 내용 불러오기 from file_name import func_ex : func_ex만 불러오기 한 줄의 마법 if - 삼항 연산자 result = ('참일때' if 조건 else '거짓일때') for - ..