조기 반환 코드 실행 과정이 함수 끝까지 도달하기 전에 반환하는 기법 코드 가독성을 높임 예외를 조금 더 깔끔하게 처리 public static void main(String[] args) { System.out.println(totalPrice(4, 50)); } private static int totalPrice(int quantity, int price) { int total = quantity * price; if (total > 100) { return (int)(total * 0.9); } return total; } 보호 구문 본격적인 로직을 진행하기 전에 예외 처리 코드를 추가하는 기법 예시 조건문을 이용하여 입력값이 유효한지 검사 아니라면 함수 종료 구현부에서 입력값에 대한 예외를 고려..
본 글은 파이썬으로 코테를 준비하던 사람이 자바로 코테를 봐야해서 새로 공부할 때 정리한 내용입니다. 컬렉션 프레임 워크 여러 개의 값을 저장하고, 그 값을 쉬우면서도 효율적으로 처리해주는 표준화 클래스 코테를 위한 다양한 자료구조가 포함됨 리스트(ArrayList), 큐(Queue), 스택(Stack), 데크(ArrayDeque), 해시맵(Hashmap) 등 배열 기초 자료형으로서 저장할 데이터의 개수가 정해져있는 경우 사용 아래 코드는 배열의 동작 방식을 이해하기에 용이 package collections; import java.util.Arrays; public class ArraySolution { public static void main(String[] args) { int[] array1 ..
소수 판별 에라토스테네스의 체 import math # 2부터 1000까지의 모든 수에 대하여 소수 판별 n = 1000 array = [True for i in range(n+1)] # 에라토스테네스의 체 알고리즘 수행 # 2부터 n 제곱근까지의 모든 수 확인 for i in range(2, int(math.sqrt(n)) + 1): if array[i] == True: # i가 소수인 경우 # i를 제외한 i의 모든 배수 지우기 j = 2 while i * j
본 글은 "나동빈"님의 [이것이 코딩 테스트다]를 참고하여 작성하였으며, 필자가 직접 문제를 풀며 관련된 문제들을 찾아 정리하였습니다. 시리즈 보기 [코테 알고리즘] 파이썬 기본 / 관련 문제 [코테 알고리즘] 파이썬 주요 라이브러리 / 관련 문제 [코테 알고리즘] 그리디 / 관련 문제 [코테 알고리즘] 구현 / 관련 문제 [코테 알고리즘] DFS, BFS / 관련 문제 [코테 알고리즘] 정렬 / 관련 문제 [코테 알고리즘] 다이나믹 프로그래밍 / 관련 문제 [코테 알고리즘] 최단 경로 / 관련 문제 [코테 알고리즘] 그래프 이론 / 관련 문제 서로소 집합 서로소 집합 자료구조 서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조 서로소 집합 : 공통 원소가 없는 두 집합 union-f..
본 글은 "나동빈"님의 [이것이 코딩 테스트다]를 참고하여 작성하였으며, 필자가 직접 문제를 풀며 관련된 문제들을 찾아 정리하였습니다. 시리즈 보기 [코테 알고리즘] 파이썬 기본 / 관련 문제 [코테 알고리즘] 파이썬 주요 라이브러리 / 관련 문제 [코테 알고리즘] 그리디 / 관련 문제 [코테 알고리즘] 구현 / 관련 문제 [코테 알고리즘] DFS, BFS / 관련 문제 [코테 알고리즘] 정렬 / 관련 문제 [코테 알고리즘] 다이나믹 프로그래밍 / 관련 문제 [코테 알고리즘] 최단 경로 / 관련 문제 [코테 알고리즘] 그래프 이론 / 관련 문제 최단 경로 가장 짧은 경로를 찾는 알고리즘 = 길 찾기 알고리즘 다양한 유형 한 지점에서 다른 특정 지점까지의 최단 경로 구하기 모든 지점에서 다른 모든 지점까지..
본 글은 "나동빈"님의 [이것이 코딩 테스트다]를 참고하여 작성하였으며, 필자가 직접 문제를 풀며 관련된 문제들을 찾아 정리하였습니다. 시리즈 보기 [코테 알고리즘] 파이썬 기본 / 관련 문제 [코테 알고리즘] 파이썬 주요 라이브러리 / 관련 문제 [코테 알고리즘] 그리디 / 관련 문제 [코테 알고리즘] 구현 / 관련 문제 [코테 알고리즘] DFS, BFS / 관련 문제 [코테 알고리즘] 정렬 / 관련 문제 [코테 알고리즘] 다이나믹 프로그래밍 / 관련 문제 [코테 알고리즘] 최단 경로 / 관련 문제 [코테 알고리즘] 그래프 이론 / 관련 문제 다이나믹 프로그래밍 개요 다이나믹 프로그래밍의 2가지 방식 탑다운 재귀 함수를 이용 큰 문제를 해결하기 위해 작은 문제를 호출 바텀업 반복문을 이용 작은 문제를 ..
순차 탐색 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인 사용 사례 리스트에 특정 값 원소가 있는지 체크 리스트 자료형에서 특정한 값이 가진 원소의 개수 세는 count() 메서드 이용시 시간 복잡도는 O(N) 이진 탐색 배열의 내부가 정렬되어야만 사용할 수 있음 탐색 범위를 절반씩 좁혀가며 데이터를 탐색 탐색 범위를 절반씩 좁혀가며 데이터 탐색 시작점, 끝점, 중간점 변수 3개 사용 찾으려는 데이터와 중간점 위치에 있는 데이터르 반복적으로 비교 시간 복잡도는 O(N) 재귀 함수로 이진 탐색 구현 def binary_search(array, target, start, end): if start > end: return None mid = (start + end) // 3 #..
본 글은 "나동빈"님의 [이것이 코딩 테스트다]를 참고하여 작성하였으며, 필자가 직접 문제를 풀며 관련된 문제들을 찾아 정리하였습니다. 시리즈 보기 [코테 알고리즘] 파이썬 기본 / 관련 문제 [코테 알고리즘] 파이썬 주요 라이브러리 / 관련 문제 [코테 알고리즘] 그리디 / 관련 문제 [코테 알고리즘] 구현 / 관련 문제 [코테 알고리즘] DFS, BFS / 관련 문제 [코테 알고리즘] 정렬 / 관련 문제 [코테 알고리즘] 다이나믹 프로그래밍 / 관련 문제 [코테 알고리즘] 최단 경로 / 관련 문제 [코테 알고리즘] 그래프 이론 / 관련 문제 정렬 데이터를 특정한 기준에 따라 순서대로 나열하는 것 면접에서 자주 출제 리스트를 뒤집는 연산은 O(N) 선택 정렬 가장 작은 데이터를 선택해 맨 앞의 데이터와..
본 글은 "나동빈"님의 [이것이 코딩 테스트다]를 참고하여 작성하였으며, 필자가 직접 문제를 풀며 관련된 문제들을 찾아 정리하였습니다. 시리즈 보기 [코테 알고리즘] 파이썬 기본 / 관련 문제 [코테 알고리즘] 파이썬 주요 라이브러리 / 관련 문제 [코테 알고리즘] 그리디 / 관련 문제 [코테 알고리즘] 구현 / 관련 문제 [코테 알고리즘] DFS, BFS / 관련 문제 [코테 알고리즘] 정렬 / 관련 문제 [코테 알고리즘] 다이나믹 프로그래밍 / 관련 문제 [코테 알고리즘] 최단 경로 / 관련 문제 [코테 알고리즘] 그래프 이론 / 관련 문제 자료 구조 탐색 : 많은 양의 데이터 중 원하는 데이터를 찾는 과정 그래프, 트리 등의 자료구조에서 탐색 DFS, BFS 등을 이용 트리 구현 인접 행렬 2차원 ..
본 글은 "나동빈"님의 [이것이 코딩 테스트다]를 참고하여 작성하였으며, 필자가 직접 문제를 풀며 관련된 문제들을 찾아 정리하였습니다. 시리즈 보기 [코테 알고리즘] 파이썬 기본 / 관련 문제 [코테 알고리즘] 파이썬 주요 라이브러리 / 관련 문제 [코테 알고리즘] 그리디 / 관련 문제 [코테 알고리즘] 구현 / 관련 문제 [코테 알고리즘] DFS, BFS / 관련 문제 [코테 알고리즘] 정렬 / 관련 문제 [코테 알고리즘] 다이나믹 프로그래밍 / 관련 문제 [코테 알고리즘] 최단 경로 / 관련 문제 [코테 알고리즘] 그래프 이론 / 관련 문제 구현 머릿속에 있는 알고리즘을 소스 코드로 바꾸는 과정 구현하기 어려운 문제 알고리즘은 간단하지만 코드가 길어지는 문제 실수 연산을 다루고, 특정 소수점까지 출력..