분류 전체보기
-
[프로그래머스] Level.2 가장 큰 수 (JAVA)개발공부/코딩테스트 연습문제 2022. 2. 8. 10:38
문제 설명과 제한사항 풀이 import java.util.*; class Solution { public String solution(int[] numbers) { String answer = ""; List nums = new ArrayList(); String num1, num2; for(int num : numbers){ nums.add(Integer.toString(num)); } Collections.sort(nums,Collections.reverseOrder()); for(int i = nums.size()-1; i > 0; i--){ num1 = nums.get(i); num2 = nums.get(i-1); if(num2.startsWith(num1) && num2.length() > nu..
-
[프로그래머스] Level.2 H-Index (JAVA)개발공부/코딩테스트 연습문제 2022. 2. 7. 13:49
문제 설명과 제한사항 풀이 import java.util.*; class Solution { public int solution(int[] citations) { int answer = 0; Arrays.sort(citations); for(int i = 0; i = count) { answer = count; break; } } return answer; } } ++ level.2 문제 중에선 쉬운 난이도의 문제 같다. 풀이는 처음으로 citations[i]의 값보다 큰 값들의 갯수가 citations[i]보다 커질때 값을 찾는 방식이었다. 예를 들면 [3, 0, ..
-
[프로그래머스] Level.2 - 문자열 압축(JAVA)개발공부/코딩테스트 연습문제 2022. 1. 21. 15:14
문제 설명과 제한사항 문제 간략 설명 문자열 s 가 주어짐. s 를 i개로 잘랐을때 연속으로 나오는 문자열은 합칠 수 있다. ex) aaaabb 를 1개 단위로 자르면 a,a,a,a,b,b -> 4a2b로 합칠 수 있음 -> 2개 단위 2aabb 이렇게 압축을 할때 1개 이상 단위로 문자열을 잘라서 압축여 표현한 문자열중 가장 짧은 것의 길이를 반환. 풀이 import java.util.*; class Solution { public int solution(String s) { int answer = s.length(); List list = new ArrayList(); if(s.length() == 1) return 1; String tmp1, tmp2; for(int i = 1; i = answer..
-
[프로그래머스] Level.2 - 전화번호 목록 (JAVA)개발공부/코딩테스트 연습문제 2022. 1. 21. 10:46
문제 설명과 제한사항 풀이 import java.util.*; class Solution { public boolean solution(String[] phone_book) { boolean answer = true; Arrays.sort(phone_book); for(int i = 0; i < phone_book.length - 1 ; i++){ String num1 = phone_book[i]; String num2 = phone_book[i+1]; if(num1.length() < num2.length() && num1.equals(num2.substring(0,num1.length()))){ return false; } } return answer; } } ++ 발상은 쉽게 됐다. 1. Strin..
-
[프로그래머스] Level.2 - (1차)뉴스 클러스터링 (JAVA)개발공부/코딩테스트 연습문제 2022. 1. 19. 15:34
문제 설명과 제한사항 문제가 정말 읽기 싫을정도로 길다.. 결론. 1. 문자열 두개 줄거임. 2. 두 문자열을 2개씩 잘라서 집합 만드셈! ex) abcdef -> [a,b], [b,c], [c,d], [d,e], [e,f] 3. 자카드 유사도 구해서 65536 곱하셈! ㄴ 자카드 유사도 = 교집합/합집합 자세한건 문제 읽어보면 알겠지만 입력 형식을 보면 영문자 이외에는 집합은 버릴거임. 그리고 대문자 소문자 무시할거임! 1차 풀이 import java.util.*; class Solution { public int solution(String str1, String str2) { int answer = 0; str1 = str1.toLowerCase(); str2 = str2.toLowerCase();..
-
[프로그래머스] Level.2 - 짝지어 제거하기개발공부/코딩테스트 연습문제 2022. 1. 19. 13:54
문제 설명과 제한사항 풀이_1차 class Solution { public int solution(String s) { int tmp = s.length(); while(s.length() > 0){ for(int i = 0; i 0) { s = s.substring(0,i) + s.substring(i+2); } else s = s.substring(i+2); break; } } if(tmp == s.length()) return 0; else tmp = s.length(); } return 1; } } ++ 굉..장한 하드코딩..! 그래서 결과는 짜잔?~ 효율성이 개똥이다. 그리하여 효율성..