CodeingTestPrac
-
Hindex - 프로그래머스 [자바]CodeingTestPrac/Java Coding Test 2023. 11. 6. 16:54
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42747 문제 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니..
-
[프로그래머스] 가장 큰 수 JAVACodeingTestPrac/Java Coding Test 2023. 9. 15. 21:48
https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에서 bubble sort 를 활용해서 문제를 해결할 수 도 있지만 java sort 의 compareTo 를 사용하면 효과 적이다 . Arrays.sort(arr, (a, b) -> (b + a).compareTo(a + b)); compare to 문자열인 경우 비교 대상의 아스키 코드 값을 반환 하거나 문자열의 길이 차이를 반환한다 . 자세한 설명은 -> https://mine-it-re..
-
[프로그래머스] 디펜스 게임 자바 : 막히면 자료구조를 생각해봐CodeingTestPrac/Java Coding Test 2023. 9. 6. 19:07
문제 : 디펜스 게임 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다음과 같이 n, k, 적들의 정보가 주어진 상황에서 -> 7, 3, [4, 2, 4, 5, 3, 3, 1] 적의 최대값이 10^6 으로 들어올 수 가 있다. 알고리즘의 시간복잡도가 O(N^2) 은 시간 초과가 날 것을 알기때문에 O(N*logN) 을 사용해야한다. O(N*logN) 을 사용하여 해결 가능한 조건은 1. 자료구조 : 힙 2. 알고리즘 : 탐색 , DP , 백트래킹 등 으로 갈릴것 같다 . 탐색의 순서는 인덱스 0 번을 기준으로 시작 하여 데이터의 크기가 매우큼으로 , 특정..
-
[1차] 셔틀버스 Java 풀이 [프로그래머스]CodeingTestPrac/Java Coding Test 2023. 8. 29. 17:03
https://school.programmers.co.kr/learn/courses/30/lessons/17678?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 구현 문제이다 . 상황이 복잡하였지만 , 카카오 코테 성격상 예시테케를 다맞추면 통과한다라는 믿음을 가지고 진행을 하자. 처음 문제를 푸는데 있어 예시테케를 하나씩 통과하는 방식으로 구현을 하다보니 복잡성이 커져 수정이 불가했다. 용기를 가지고 주요 로직 부분을 지우고 종이에 예시를 적으면서 출력되는 상황을 체크했다. 문제 이해의 부분은 "버스는 여석이 있어도 바로 출발"..
-
[프로그래머스] 후보키 Java 조합 - 재귀 , 백트래킹CodeingTestPrac/Java Coding Test 2023. 8. 28. 14:10
파이썬을 이용한 코딩테스트시 간단하게 라이브러리를 호출하여 조합을 뽑아내는 것 이 가능했지만 자바는 직접구현을 해야한다. 숫자 4가 주어졌을때 1 , 2, 3,4 , (1,2),(1,3) ,,,, (1,2,3,4) 와 같은 숫자를 출력하는 코드를 짜보자. n = 4 일때 , nCr 을 구현하니 변수 r 도 필요하다. 재귀를 사용하며 , 배열의 크기와 r 이 같으면 탈출 하는 조건문을 추가해준다. @Test public void combination_test() { int n = 4; var s = showCombination(n); System.out.println(s); } List answer = new ArrayList(); public int showCombination(int n) { for(i..
-
Two Pointers : while 문으로 맛있게 풀기CodeingTestPrac/neetCode.io 정주행 2023. 8. 15. 21:55
문제의 유형을 two pointers 라고 주어졌다 . 이것은 이중 반복문을 사용하여 , n! 로 접근을 하는 방식이 아니라 , 하나의 탐색의 과정에서 두개 이상의 접근자 :index 를 조건에 맞추어 증감을 시키는 것이 포인트 이다 Two pointer 의 기본 문제 유형을 먼저 보자. 125. Valid Palindrome Valid Palindrome - LeetCode Can you solve this real interview question? Valid Palindrome - A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeri..
-
Arrays & Hashing (2)CodeingTestPrac/neetCode.io 정주행 2023. 8. 9. 16:15
238. Product of Array Except Self nums = [1,2,3,4] 일 때 , 각 리스트에 원소에 자기 자신을 제외한 값의 곲을 넣어야 한다. class Solution { public int[] productExceptSelf(int[] nums) { int n = nums.length ; List index = new ArrayList(); int pro = 1 ; for(int i = 0 ; i 1) { return new int[n] ; } if(index.size() == 1) { Arrays.f..
-
Arrays & Hashing (1)CodeingTestPrac/neetCode.io 정주행 2023. 8. 8. 18:07
217. Contains Duplicate : 같은 숫자가 존재하나 ? import java.util.* ; class Solution { public boolean containsDuplicate(int[] nums) { int size = Arrays.stream(nums). distinct(). boxed(). collect(Collectors.toList()).size(); return size != nums.length; } } -> HashSet 또는 map 을 사용하여 o(N ) 으로 접근 하는 풀이도 가능 242. Valid Anagram 주어진 문자열이 재구성 가능 한지 확인 하는 코드 , 두개의 문자를 비교하는것은 Char arr 이후 arrays. 의 api 를 이용한 풀이를 생각하자..