분류 전체보기
-
프로그래머스 : 폰켓몬코딩테스트 문제 풀이/프로그래머스 2023. 11. 21. 00:01
방대한 글씨량에 낚임.. 문제의 핵심은 중복 없이 가져갈수 있는 폰켓몬의 종류의 개수는? 이었다 내 코드 import java.util.HashSet; class Solution { public int solution(int[] nums) { HashSet set = new HashSet(); for(int i: nums) { set.add(i); } return nums.length / 2 > set.size() ? set.size() : nums.length / 2; } } HashSet에 배열의 요소들을 집어넣어 중복을 없앤 후 HashSet의 크기와 nums.length/2 의 값 중 작은 값을 결과로 출력되게 작성하였다. 메모의 흔적 🔻
-
행성 X3코딩테스트 문제 풀이/백준 2023. 11. 21. 00:01
다른사람 풀이 package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public void main() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] ones = new int[20]; for (int i = 0; i < n; i++) { int name = Integer.parseInt(br.readLine()); for ..
-
프로그래머스 : 소수 찾기코딩테스트 문제 풀이/프로그래머스 2023. 11. 21. 00:01
실패한 내 코드 질문하기에서 에라토스테네스의 체를 이용하면 된다고 문제를 해결한 사람들이 작성해뒀어서 내 나름 에라토스테네스의 체를 이용해본 코드였다 🥲 이 코드로는 마지막 테스트 케이스 3개에서 계속 시간초과가 떠서 해결하지 못했다. 내가 생각했던 코드중에 그나마 시간 비용을 줄인 코드였어서 기록! ✏️ import java.util.ArrayList; class Solution { public int solution(int n) { int answer = 0; ArrayList list = new ArrayList(); for (int i = 2; i 소수의 배수들 모두 제거 for (j = 2; j * findNum < list.get(list.size() - 1); j++) { if (list.c..
-
프로그래머스 : 문자열 내 p와 y의 개수코딩테스트 문제 풀이/프로그래머스 2023. 11. 21. 00:01
내 코드 class Solution { boolean solution(String s) { return s.replaceAll("[pP]", "").length() == s.replaceAll("[yY]", "").length(); } } 이번 문제는 정말 쉬웠다. 비교해야할 대상이 변하지 않고 고정되어있었기 때문이다. 문자열에서 p와P의 개수의 합과, y와Y의 개수의 합을 비교해서 같으면 true를 , 다르면 false를 반환하는 문제이다. 나의 풀이방법은 p와P를 문자열에서 없앴을때 문자열의 길이와, y와Y를 문자열에서 없앴을때의 문자열의 길이를 비교하여 바로 출력하였다.
-
프로그래머스 : 성격 유형 검사하기코딩테스트 문제 풀이/프로그래머스 2023. 11. 21. 00:01
다른사람 코드 출처 : 프로그래머스 스쿨 - 다른사람 풀이 첫번째 import java.util.HashMap; class Solution { public String solution(String[] survey, int[] choices) { String answer = ""; char[][] arrChar = new char[][]{{'R', 'T'}, {'C', 'F'}, {'J', 'M'}, {'A', 'N'}}; int[] points = new int[]{0, 3, 2, 1, 0, 1, 2, 3}; HashMap tbl = new HashMap(); for (char[] c: arrChar) { tbl.put(c[0], 0); tbl.put(c[1], 0); } for (int i = 0; i..
-
집합Computer Science/기초수학 2023. 11. 21. 00:01
HashSet을 이용하여 해결할 수 있다. HashSet a = new HashSet(Arrays.asList(1, 2, 3, 4, 5)); HashSet b = new HashSet(Arrays.asList(2, 4, 6, 8, 10)); 합집합 어느 하나에라도 속하는 원소들을 모두 모은 집합 a.addAll(b); // 합집합: [1, 2, 3, 4, 5, 6, 8, 10] 교집합 두 집합이 공통으로 포함하는 원소로 이루어진 집합 a.retainAll(b); // 교집합 : [2, 4] 차집합 A 또는 B에만 속하는 원소들의 집합 a.removeAll(b); // 차집합 : [1, 3, 5] b.removeAll(a); // 차집합 : [6, 8, 10]
-
백준 : 힙 정렬2코딩테스트 문제 풀이/백준 2023. 11. 21. 00:01
이번 문제는 수도코드가 문제에 함께 나와있었어서 정말 금방 끝낼줄 알았는데...............................................................................................................................................................................................................................................................................................................................orz.....................................
-
프로그래머스 : K번째 수코딩테스트 문제 풀이/프로그래머스 2023. 11. 21. 00:01
프로그래머스 문제 링크 나의 접근 방법 먼저 foreach문을 사용해서 array의 제시된 부분을 Arrays 클래스의 copyOfRange( 원본배열 , 시작인덱스 , 끝인덱스 ) 메소드를 사용해 새로운 배열로 복사해온다. 그 다음 Arrays 클래스의 sort 메소드를 사용하여 정렬을 하고 결과를 담을 answer 배열에 제시된 인덱스의 값을 담아준다. 내 코드 public int[] test(int[] array, int[][] commands) { int[] answer = new int[commands.length]; int idx = 0; for (int[] arg : commands) { int[] list = Arrays.copyOfRange(array, arg[0] - 1, arg[1])..
-
힙 HeapComputer Science/자료구조 2023. 11. 21. 00:01
항상 완전 이진 트리 형태 -> 중복을 허용 -> 반 정렬 상태임 [= 부모 자식관계에선 정렬되어있지만, 형제끼리는 정렬되어있지않음] 최소값, 최대값을 빠르게 찾는데 유용 -> 최소힙 Min Heap , 최대힙 Max Heap -> 최소힙 : 부모 노드의 키 ≤ 자식 노드의 키 -> 최대힙 : 부모 노드의 키 ≥ 자식 노드의 키 Heap의 특성(같은 레벨에선 노드가 좌측부터 채워짐)으로 인해 보통 배열을 통해서 구현한다. Heap의 삽입 Min Heap을 예시로 함 트리의 가장 끝에 데이터 삽입 부모 노드와 키를 비교한 후 삽입된 키가 더 작을 경우 부모와 교체 (반복) Heap의 삭제 Min Heap을 예시로 함 항상 최상위 노드를 반환 & 삭제 가장 마지막 위치의 노드를 최상위로 옮김 자식 노드 중 ..
-
트리Computer Science/자료구조 2023. 11. 21. 00:01
노드와 링크로 구성된 자료 구조 그래프의 일종 -> 순환하면 그래프 , 순환하지 않으면 트리 계층적 구조를 나타낼 때 사용 -> 폴더구조, 조직도, 가계도 트리의 구조 노드 트리 구조의 자료값을 담는 단위 에지 = 엣지 = 간선 = edge = branch = link 노드간의 연결선 루트 노드 = Root 부모가 없는 노드. 최상위 노드 잎새 노드 = 단말 노드 = Leaf 자식이 없는 노드 내부 노드 잎새노드를 제외한 모든 노드 부모 노드 연결된 두 노드 중 상위인 노드 자식 노드 연결된 두 노드 중 하위인 노드 형제 노드 같은 부모를 가지는 노드 레벨 트리의 특정 깊이를 가지는 노드 집합 깊이 루트에서 어떤 노드까지의 간선 수 높이 트리에서 가장 큰 레벨 값 크기 자신을 포함한 자식 노드의 개수 차..