[Java] PriorityQueue(우선순위 큐) 사용하기
·
Backend/Java
Queue vs PriorityQueueQueue(큐)1) 데이터를 가로로 쌓는 자료구조2) FIFO(First In First Out | 선입선출) : 줄을 선 순서대로 먼저 처리됨! ▼PriorityQueue(우선순위 큐)1) 데이터를 가로로 쌓는 것은 동일2) 선입선출X, 우선순위를 먼저 결정한 후 우선순위가 높은 엘리먼트부터 처리PriorityQueue 특징우선순위 큐에 넣을 객체는 필수적으로 Comparable Interface를 구현해야 함 (우선순위 조건 만드는 것!)PriorityQueue가 자동으로 높은 우선순위 요소를 먼저 꺼내어 처리힙을 이용하여 구현되어 이진트리 구조로 이루어짐힙으로 구성되어 시간 복잡도는 O(NLogN)우선순위를 중요시해야 하는 상황에서 사용됨 (ex. 응급실)Pr..
[Java] 의존성 주입(DI) 장점, 방법, 비교
·
Backend/Java
의존성 주입(DI)이란?객체가 사용(의존)할 파라미터를 외부에서 선언하고, 이를 주입받아서 사용하는 방법!의존성 주입의 장점응집도를 높이고, 결합도를 낮출 수 있다.1. 유지보수가 용이하다.2. 재사용성이 높은 코드가 된다.3. 기능이 분리되어 가독성이 높아진다.의존성 주입 종류Constructor (생성자)Setter (수정자)Field (필드)1. Constructor (생성자)public class User { private String email; private String password; @Autowired public User(String email, String password){ this.email = email; this.password = p..
[Java] Char 문자를 숫자로 변환하는 방법 (CHAR - '0' 이 뭘까?)
·
Backend/Java
알고리즘 문제를 풀다가 난관에 봉착했다.54321 을 입력했을 때,500004000300201이렇게 출력되기를 원했는데, 자꾸 전혀 모르는 숫자가 생기는 것...그래서 도대체 어디서 꼬인걸까 봤는데,바로 아스키코드(ASCII code-2진수)로 표현되었던 것이었다..!아스키코드로 문자 1은 49임!char 문자를 숫자로 변환하는 방법은 바로 - '0' 을 넣어주는 것이다!문자 0은 아스키코드로 48이기 때문에 빼주면 숫자로 변환 완료되는 거!예를 들어,char로 된 배열 arr[1] = 1;arr[1] = (10진수로 표현 시) 1, (2진수로 표현 시) 49;arr[1] - '0' = 49 - 48 = 1;내가 원하는 10진수로 정상적으로 출력되는 것 확인:-D
[Python] 문자열 대/소문자 변환하기
·
Backend/Python
Python 은 대·소문자를 구분하는 언어이다. 즉, 'example' 과 'EXAMPLE'을 다른 문자열로 구분한다. 따라서, 문자열을 비교해야 할 경우, 한쪽으로 통일 시켜준 후에 비교해야 한다! 문자열의 대/소문자를 변환할 수 있는 함수를 정리해보았다. 1. upper() : 문자열 전체 대문자로 변환하기 str = "example" print(str.upper()) upper 함수가 적용된 모든 문자를 대문자로 변환한다. 2. lower() : 문자열 전체 소문자로 변환하기 str = "EXAMPLE" print(str.lower()) lower 함수가 적용된 모든 문자를 소문자로 변환한다. 3. Capitalize() : 가장 첫 글자만 대문자로 변환하기 str = "this is example..