본문 바로가기

코딩테스트4

[NH농협은행 5급 IT] 코딩테스트 복기 보호되어 있는 글 입니다. 2024. 11. 2.
완전 탐색 (순열, 조합) 순열? (Permutation)n개 중에서 r개의 원소를 선택하여 나올 수 있는 경우를 모두 따진다. (순서를 고려한다.) {1,2,3} 중 2개 원소를 순열 방식으로 선택-> {1,2}, {1,3}, {2,1}, {2,3}, {3,1}, {3,2} 구현 방법?(curr은 List 자료구조를 사용하고 현재 선택한 원소를 담는다.)(nums는 주어진 원소 배열이다.) - BaseCase : curr.size() == nums.length; (또는 curr.size()  == 선택할 원소 개수 )- before recursive call : curr 추가, visited[i] = true;- recursive call- after recursive call : 최근 추가한 curr 제거, visited[i].. 2024. 8. 9.
소수 판별 알고리즘 (JAVA) 소수?1과 자기 자신 만을 약수로 가지는 수이때 0과 1은 소수가 될 수 없다. Ex. 16은 1,2,4,8,16을 약수로 가진다. 따라서 소수가 아니다.Ex. 7은 1,7을 약수로 가진다. 1과 자기 자신의 수(7) 을 약수로 가지므로 소수이다. 소수 판별 방법어떤 수가 소수가 되려면 2부터 시작해서 (어떤 수/2) 까지 나누었을 때 모두 나누어 떨어지면 안된다. Ex. 13은 소수인가?13 % 2  != 0 (통과)13 % 3 != 0 (통과)13 % 4 != 0 (통과)13 % 5 != 0 (통과)13 % 6 != 0 (통과)-> 소수이다. Ex. 8은 소수인가?8 % 2 == 0 (소수가 아니다.) 코드 // 소수인지 판별하는 함수 public boolean isPrime(int che.. 2024. 8. 9.
코딩테스트 합격을 위한 [스택, 큐] 정리 요약stack- 후입 선출 구조 (Last In First Out)- 일반적으로 queue 보다 성능이 좋지 않음.- 짝 맞추기, 되돌리기, DFS, 재귀 유형에서 활용Deque s = new ArrayDeque(); // 스택 선언[삽입]s.push(5); // 값 삽입[삭제]s.pop(); // 값 삭제s.clear(); // 모든 값 삭제[조회]int a = s.peek(); // 스택의 최상단에 있는 원소 가져오기s.size(); // 스택 크기 조회 (스택에 담긴 원소 개수)s.contains(); // 스택에 해당 원소가 존재하는지 조회 (true/false)s.isEmpty(); // 스택이 비었는지 검사 (true/false) Queue- 선입 선출 구조 (First In First Out.. 2024. 8. 3.