일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- M1
- 27866
- OAuth 인증
- 안드로이드 스튜디오
- HashMap
- 프로그래머스
- 알고리즘
- 문자열 숫자 변환
- Eclipse
- github
- 백준
- 해시
- 포맷 지정자
- sort정렬
- homebrew
- JDK
- 노선별 평균 역 사이 거리 조회하기
- 코딩테스트
- SQL코딩테스트
- 프로그램서
- 맥북
- 핸드폰 가리기
- Iterator
- 깃허브
- 가격이 제일 비싼 식품의 정보 출력하기
- Android Studio
- MAC OS
- mysql
- 자바
- Java
- Today
- Total
목록Algorithm (21)
개발일지
🔗 링크전화번호 목록 📌 문제 설명전화번호를 담은 배열 phone_book이 매개변수로 주어질 때,어떤 번호가 다른 번호의 접두어인 경우가 있으면 false그렇지 않으면 true를 return 👀 예제 ✏️ 풀이 순서Sort / Loop 정렬Sort 정렬하기Loop 돌리기 → 앞번호가 뒷번호의 접두어면 true 리턴마지막까지 아니면 false 리턴HashMapHashMap 생성하기HashMap에 전화번호 해싱하기전체 돌리면서 접두어가 HashMap에 있는지 확인하기 💻 코드1. Sort / Loop 정렬import java.util.*;class Solution { public boolean solution(String[] phone_book) { Arrays.s..
🔗 링크완주하지 못한 선수 📌 문제 설명참여한 선수들의 이름이 담긴 배열 participant, 완주한 선수들의 이름이 담긴 배열 completion완주하지 못한 선수의 이름을 리턴 👀 예제 ✏️ 풀이 순서정렬 이용해서 풀기두 배열 sort정렬하기두 배열이 다르게 나올 때까지 반복문 돌리기마지막까지 다른게 안 나온 거면 마지막 주자가 완주하지 못한것. Hash 이용해서 풀기HashMap 생성HashMap: Key는 String, Value는 Integer로 정의HashMap에 참가자 추가HashMap.put(Key, Value): HashMap에 Key와 Value를 한 쌍으로 입력하는 함수HashMap.getOrDefault('B', 0): 'B'라는 Key에 해당하는 Value가 있으면 가져오고..
🔗 링크폰켓몬 문제 📌 문제 설명N마리의 폰켓몬의 종류 번호가 담긴 배열 numsN/2마리의 폰켓몬을 선택하는 방법 중, 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아그때의 폰켓몬 종류 번호의 개수를 리턴 👀 예제nums[3, 1, 2, 3]4마리의 폰켓몬이 있으므로, 2마리의 폰켓몬을 골라야 함가장 많은 폰켓몬을 고르기 위해서는 [3, 1] / [3, 2] / [1, 2] 이므로return값은 2numx[3, 3, 3, 2, 2, 4]6마리의 폰켓몬이 있으므로, 3마리의 폰켓몬을 골라야 함[3, 2, 4]일 때 가장 많으므로return값은 3 ✏️ 풀이 순서length / 2를 max값에 대입해 최대로 고를 수 있는 폰켓몬 수 구하기중복 제..
Set이란?중복해서 저장할 수 없으며, 하나의 null값만 저장 가능중복 자동 제거비선형 구조로 '순서'와 '인덱스'가 존재하지 않는다.→ 삭제하는 경우 Set내부에서 해당 값을 검색하여 기능을 수행해야 한다.→ 처리 속도 느림 HashSet이란?: Set의 성질을 가지고 있음중복된 값을 허용하지 않음순서가 보장되지 않음null을 값으로 허용함 HashSet 구현1. HashSet 생성// 타입 지정하여 생성HashSet food = new HashSet();// 타입 생략 → 빈 HashSet생성 시 사용HashSet food2 = new HashSet(); // 초기 용량(Capacity) 설정HashSet food3 = new HashSet(10); ..
📌 시간 복잡도 시간 복잡도를 고려한다는 것 : '입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가?'라는 말이다. 시간 복잡도는 주로 빅-오 표기법을 사용해 나타낸다. 📌 Big-O 표기법 1. O(1) : O(1)는 일정한 복잡도(constant complexity)라고 하며, 입력값이 증가하더라도 시간이 늘어나지 않는다. 일정한 복잡도 -> 상수항(0차식) *예시 MenOfPassion(A[], n) { i = ⌊n / 2⌋; return A[i]; # 코드1 } 입력이 아무리 커져도 코드를 '딱 1번'만 실행함 2. O(n) : O(n)은 선형 복잡도(linear complexity)라고 부르며, 입력값이 증가함에 따라 시간 또는 같은 비율로 증가하는 것을 의미한..