카테고리 없음
4월 첫째주, 그리고 둘째주
mejii
2024. 4. 7. 23:52
재귀함수
함수 내부에서 자기 자신을 호출하는 함수를 의미한다.
재귀함수를 사용할 때 주의점은, 종료조건을 명확하게 설정해야 무한루프에 빠지지 않는다는 점이다.
ex.재귀함수를 이용한 알고리즘: 피보나치 수열, 이진탐색(정렬된 배열에서 원하는 데이터를 빠르게 찾을 때 사용),
유클리드 호제법(최대공약수 계산, 간단한 코테에서 출제가능), 이항계수
Scanner vs BufferedReader
가장 중요한 차이점은 Scanner는 다양한 타입을 입력받을 수 있으며 다양한 함수 사용이 가능하지만
BufferedReader는 String 타입만 입력받는 것이 가능하지만 속도는 매우 빠르다.
String 타입을 입력받으며, 코드 길이가 길 땐 BufferedReader를 사용이 효율적일 수 있다.
배열에서 내림차순으로 정렬하기
import java.util.Collections;
import java.util.Arrays;
class Solution{
public int solution(int[] arr){
//int[] arr = {1,2,5,3,4}
//내림차순으로 바꾸기
Collections.sort(arr, Collection.reverseOrder());
//{5,4,3,2,1}
//오름차순으로 바꾸기
Arrays.sort(arr); //{1,2,3,4,5}
}
위의 코드와 같이 Collections을 이용한다!
이번주에는 연습 코딩테스트 모두 진행하였다.
둘째날까지는 정말 코드 구현이 쉽지 않았지만
세번째 날부터는 그래도 코드 구현이 가능해 코드를 구현했을 때의 뿌듯함을 드디어 느낄 수 있었다.
코딩테스트를 진행하면서,
자료구조의 구현보다는 자료구조의 개념을 먼저 잘 이해하는 것이 더 중요함을 깨달았다.
(아직, 알고리즘은 강의를 다 듣지 못해 중요성 인지가 되지 않는다..!)
이번 주 아쉬운 점은 공부시간이 충족되지 않았다는 점이다.
하지만, 코드의 구현을 시작했다는 점에서는 지난 주보다 발전했다.
다음 주에는 알고리즘 강의를 듣고 정리하며,
알고리즘 구현보다는 개념을 먼저 숙지하는 것을 목표로 한다.