목차 프로젝트 소개 도메인 분석&설계 API 설계 개발 일지 1️⃣ 프로젝트 소개 프로젝트명 : 게시판 Ver.2 개발 인원 : 1명 개발 기간 : 2023.05.30 ~ 2023.06. 기술 요구사항 SpringBoot 2.x & JDK 11 & Gradle
✔️ @SuppressWarnings 컴파일 경고를 사용하지 않도록 설정해주는 것 경고를 제외시킬 때 사용하는 어노테이션 1. 사용 이유 제네릭으로 프로그래밍 할 때 무점검 형변환 경고(unchecked cast warning), 무점검 메서드 호출 경고(unchecked method invocation warning), 무점검 제네릭 배열 생성 경고(u...
✔️ Algorithm 💡 고차항부터 저차항 순으로 입력됨, 항은 다항식 2개 모두 3개씩 입력됨 read() 메서드 : 사용자로부터 다항식을 입력받음 add() 메서드 : 덧셈 연산 수행 print() 메서드 : 곱셈 연산이 완료된 최종 다항식을 출력함 ✔️ Code PolynomialImpl.java Term.java Polynomial.java...
✔️ Problem URL 핸드폰 번호 가리기 ✔️ Problem > 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. ✔️ Co...
✔️ Problem URL 나누어 떨어지는 숫자 배열 ✔️ Problem > array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 elemen
✔️ Tree 1. 용어 루트(root) : 트리 구조 중 최상위에 존재하는 노드(1을 가리킴) 노드(node) : 트리에서 각각의 구성 요소 레벨(level) : 트리에서 각각의 층을 나타내는 단어(루트 노드 : 0) 형제 노드(sibling) : 같은 레벨의 노드
✔️ Graph(그래프) 정점(Vertex)과 간선(Edge)로 이루어짐, 비선형 자료구조 중 하나 1. 그래프의 종류 2. 그래프 구현 방법 (1) 인접 행렬 (2) 인접 리스트 인접 행렬 예제 Connection.java Node.java - 제네릭 타입 T 사용 Graph.java - BFS/DFS 함수 내장, 각 탐색 시작하기 전에 rest...
✔️ Problem URL 하샤드 수 ✔️ Problem > 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. ✔️ Code ...
✔️ Problem URL 문자열을 정수로 바꾸기 ✔️ Problem > 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. ✔️ Code 💡 앞서 풀었던 문제와 해결 방식이 비슷하다. ✔️ Refactoring 💡 한 줄로 해결되었다!! <img src="https://velog.velcdn.com/images/lj...
Programmers 코딩테스트 연습 Lv.1을 시작했다. 10분 이상 고민한 문제만 블로깅 할 예정이다. 이 단계부터는 리팩토링 하는 과정을 통해 실행시간과 메모리를 효율적으로 사용하는 방법을 터득할 것이다. ✔️ Problem URL 정수 내림차순으로 배치하기 ✔️ Problem > 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각...
✔️ Sort 오름차순/내림차순 실행결과 1. Bubble Sort 정렬 알고리즘 중 가장 단순한 알고리즘, 비효율적임 동작 방식 : 인접한 두 요소간의 대소 비교 진행 시간 복잡도(최고, 평균, 최악) : O(n^2) 공간복잡도 : O(n) 2. Insertio
✔️ startsWith 대상 문자열이 특정 문자 또는 문자열로 시작하는지 체크 ✔️ endsWith 대상 문자열이 특정 문자 또는 문자열로 끝나는지 체크
✔️ Binary Search Collections.binarySearch => Comparable이 구현되어 있어야 함, 순서대로 정렬되어 있어야 함 배열의 중앙값과 원하는 값이 일치하는 경우를 탐색하는 자료구조 예제) PracticeBinarySearch.jav
✔️ Queue FIFO - First in First out ✔️ Deque(Double-Ended Queue) 양방향에서 추가/삭제 가능
✔️ Problem URL 등수 매기기 ✔️ Problem > 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요. ✔️ Code
✔️ HashSet 데이터의 저장 순서가 유지되지 않음 중복이 허용되지 않음 HashSet의 메서드는 list의 메서드와 비슷함
✔️ HashMap 1. 특징 Array 장점 + List 장점 => 유연하면서도 빠르게 값을 찾아낼 수 있는 자료구조 key와 value 쌍으로 이루어짐 2. 종류별 시간복잡도 종류 | get() | containsKey() | next() :--: | :--: |
✔️ List 1. 특징 여러 개의 데이터를 한꺼번에 다룰 수 있음 미리 공간을 확보해놓지 않아도 됨 메모리 상에 연속되지 않아도 됨 필요에 따라 데이터가 늘어나거나 줄어듬(동적 할당) 데이터 사이에 빈 공간을 허용하지 않음 2. 단점 목표 위치를 알려면 첫 번째 위치로부터 index로 한 칸씩 이동하면서 찾아야 함 객체로 데이터를 다루기 때문에 적은 양...
✔️ Problem URL 특이한 정렬 ✔️ Problem > 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성...