CodeingTestPrac/Java Coding Test
-
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..
-
정수를 대체하는 횟수는 ? : 중요한 기본기 + 재귀 , mapCodeingTestPrac/Java Coding Test 2023. 8. 7. 19:01
https://leetcode.com/problems/integer-replacement/solutions/3614937/java-hashmap-solution-using-memoization/ Java HashMap Solution Using Memoization - Integer Replacement - LeetCode View tylercdesouza's solution of Integer Replacement on LeetCode, the world's largest programming community. leetcode.com 리트 코드의 문제이다. 문제를 해결하는 과정도 중요하지만, 문제를 푸는 방식도 중요하다. 1. 에지 케이스를 항상 생각하자 . 정수 값의 범위가 주어졌을때 양 끝 값이 ..
-
시소 짝꿍 , DSCodeingTestPrac/Java Coding Test 2023. 8. 7. 15:12
https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시소 짝꿍이 몇쌍인지 구하는 문제이다. -> 수학적인 접근을 위해 머리를 굴렸지만 , 오답이다. 다른 사람의 풀이를 보니 , 정렬 후map 자료 구조를 stack 처럼 활용을 하여 문제를 접근 하였는데 , 풀이는 다음 블로그에서 확인이 가능하다 : https://mag1c.tistory.com/295
-
모든 섬사이의 다리를 만들고 비용 최소를 구하자 , kruskal union findCodeingTestPrac/Java Coding Test 2023. 8. 6. 14:58
https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 특이 조건 - 모든 섬 사이의 다리 건설 비용이 주어지지 않습니다. 이 경우, 두 섬 사이의 건설이 불가능한 것으로 봅니다. - 연결할 수 없는 섬은 주어지지 않습니다 조건을 기반으로 모든 섬은 연결이 가능하다라는 것을 이야기 하는 듯 하다. 문제를 해석했을때 아는 것을 사용할려고 다익스트라 알고리즘을 떠올렸지만, 사이클을 형성 하게 되면 최소 비용으로 모든 노드를 연결하지 못한다라는것을 알게 되..