코딩테스트 (18) 썸네일형 리스트형 프로그래머스(JAVA) - Hash (폰켓몬) 문제정리N마리의 폰켓몬 중 N/2마리를 가져가도 좋다최대한 많은 종류의 폰켓몬을 포함해서 N/2마리를 선택, N 마리 폰켓몬의 종류 번호가 담긴 배열 nums가 매개변수로 주어질 때, N/2마리의 폰켓몬을 선택하는 방법 중, 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아 종류의 개수의 최댓값 하나만 returnnums 길이는 항상 짝수 처음 작성한 코드import java.util.ArrayList;import java.util.List;class Solution { public int solution(int[] nums) { int answer = 0; List list = new ArrayList(); for(int i = 0; i 기존에 자주 사용했던.. 프로그래머스(JAVA) - level2(짝지어 제거하기) 문제정리문자열 S에서 같은 알파벳이 2개 붙어있는 짝을 찾고, 제거한 뒤 앞뒤로 문자열을 이어 붙인다.성공적으로 수행할 수 있으면 1, 아닐 경우 0처음 작성한 코드class Solution { public int solution(String s) { while (!s.equals("")) { String[] str = s.split(""); for (int i = 0; i 코드를 평소와 같이 익숙한 형태와 문법으로 해결하려고 했으나 시간초과..... 아무리 다르게 생각을 해도 다른 해결법이 생각이 나지않아 구글링해서 다른 사람들 코드 참고해봄..;;하긴 반복문이 삼중으로 있으니 시간이 오래 걸릴수밖에..반복문말고도 다른 해결책으로 생각을 바꿔야.. 프로그래머스(JAVA) - level2(피보나치 수) 문제정리피보나치 수는 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴한 함수 이라는데 문제를 이해하는데 시간이 좀 걸림..;; 각각 2이상의 수에 나눠서 나머지를 구하라는 건지..작성한 코드class Solution { public int solution(int n) { int[] answer = new int[n + 1]; for (int i = 0; i 문제를 이해하고 나서는 해결하는 데에는 오래걸리지 않음!시간은+ 추가🧐피보나치 수열은 대표적인 동적 프로그래밍의 예라고 한다.동적 프로그래밍(DP)은 큰 문제를 작은 문제로 나누어 푸는 알고리즘 .. 프로그래머스(JAVA) - level2(이진 변환 반복하기) 문제정리0과 1로만 이루어진 문자열 ss의 모든 0을 제거, s의 길이를 2진법으로 표현한 문자열이진변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 배열에 담아 return처음 작성한 코드class Solution { public int[] solution(String s) { int[] answer = {}; String[] re = s.split(""); int count = 0; // 이진 변환의 횟수 int remove = 0; // 제거된 모든 0의 개수 String result = ""; // 이진 변환 결과 while(!result.equals("1")){ int length = 0; /.. 프로그래머스(JAVA) - level2(구명보트) 문제정리구명보트는 최대 2명씩 (그러면 한명도 탈 수 있음), 무게 제한은 100kg모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return처음 작성한 코드import java.util.Arrays;class Solution { public int solution(int[] people, int limit) { int answer = 0; Arrays.sort(people); int a = 0; int b = people.length - 1; while(a = sum){ answer++; b--; a++; }else{ .. 프로그래머스(JAVA) - level2(카펫) 문제정리카펫 중앙에 노란색 테두리 갈색카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 길다.갈색 개수, 노란색 개수를 주어지며, return은 가로, 세로 크기를 순서대→ 세로 길이는 최소 3개 이상 이라는 조건을 빠트리고 생각함.. 처음 작성한 코드class Solution { public int[] solution(int brown, int yellow) { int x = brown / 2; int a = 0; int b = 0; int sum = brown + yellow; for (int i = 2; i 위 코드에서는 노란색개수를 고려하지 않았고, 그냥 단순히 brown + yeollow를 더하면 전체 카펫의 크기가 되고.. 프로그래머스(JAVA) - level2(숫자의 표현) 문제정리자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return -> 문제 이해하는데 시간이 걸림..내가 작성한 코드class Solution { public int solution(int n) { int answer = 0; for(int i = 1; i n){ break; } } } return answer; }} 시간은 36분.. 꽤 오래걸렸네...;; 프로그래머스(JAVA) - level2(JadenCase 문자열 만들기 ) 문제정리주어지는 s는 알파벳과 숫자, 공백문자로 이루어짐모든 단어의 첫 문자 대문자, 나머지 소문자인 문자열첫문자가 알파벳이 아닌 경우에는 이어진 알파벳 소문자로숫자는 단어의 첫 문자로만 나온다. 공백문자 연속해서 나올 수 있다. → 문제 해결하는 과정에서 공백문자 연속해서 나올 수도 있다는 점.. 생각을 못함..내가 작성한 코드class Solution { public String solution(String s) { String[] str = s.split(" "); String answer = ""; for(int i = 0; i 처음에는 위와 같이 코드를 짰는데 계속 처럼 테스트8만 실패라고 뜸... 계속 조금씩 수정해도 똑같은 결과가 나오고...생각을.. 이전 1 2 3 다음