본문 바로가기

반응형

Algorithm

프로그래머스 level1 문제 : 같은 숫자는 싫어(java) 문제 설명 : 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 배열 arr에서 제거 되고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를들면arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 해결 방법 : .. 더보기
프로그래머스 level1 문제 : 체육복(java) 문제 설명 : 오늘은 체육수업이 있는 날입니다. 그런데 점심시간에 도둑이 들어 몇몇 학생의 체육복이 도난을 당했습니다. 다행히 일부 학생들이 여벌의 체육복을 가져왔습니다. 학생들의 번호는 체격 순으로 매겨져 있기 때문에 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려주려고 합니다.예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 당연히 체육복을 2벌 가져온 학생의 체육복이 도난을 당했다면, 여벌의 체육복을 빌려줄 수 없습니다.체육복이 없으면 체육수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 듣고 싶습니다.전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담.. 더보기
프로그래머스 level1 문제 : K번째수(java) public int[] get_K_count(int[] array, int[][] commands) { // 정렬(올림차순) : Array.sort(arr); // 정렬(내림차순) : Array.sort(arr, Collections.reverseOrder()); Ascending ascending = new Ascending(); ArrayList arrayList = getArrayList(array); ArrayList cutList = null; ArrayList resultList = new ArrayList(); for(int i=0; i 더보기
프로그래머스 level1 문제 : 기능개발(java) private int result = 1, index = 0; public int[] functionDevelopment(int[] progresses, int[] speeds) { int[] answer = new int[progresses.length]; ArrayList arrayList = new ArrayList(); for (int i = 0; i < progresses.length; i++) { for (int j = 1; j = 100) { arrayList.add(j); break; } } } answer[0] = result; for (int i = 1; i < arrayList.size(); i++) { if (arrayList.get(0) 더보기
프로그래머스 level1 문제 : 완주하지 못한 선수(java) String answer = ""; Map map = new HashMap(); for (String name : participant) { if (map.get(name) == null) { map.put(name, 0); } else { int value = map.get(name) + 1; map.put(name, value); } } for (String name : completion) { int value = map.get(name) - 1; map.put(name, value); } for (String name : map.keySet()) { if (map.get(name) == 0) answer = name; } return answer; 오랜만에 문제를 푸니 하나도 모르겠네요.. 매일 .. 더보기
프로그래머스 level1 문제 : 나누어 떨어지는 숫자 배열(java) List integerList = new ArrayList(); for (int anArr : arr) { if (anArr % divisor == 0) integerList.add(anArr); } int[] answer = new int[integerList.size()]; if(integerList.size() > 0) { for(int i=0; i size가 0일때 강제 할당해주는 방법으로 진행했습니다. 더 좋은 방법이 있으신분은 댓글좀 부탁할게요! 더보기
프로그래머스 level1 문제 : 올바른 괄호(java) import java.util.List; import java.util.ArrayList; char a = '(', b = ')'; private List integerList1, integerList2; boolean getParenthesis(String str) { integerList1 = getIndexNumber(str, a); integerList2 = getIndexNumber(str, b); boolean answer = false; int aCount = 0, bCount = 0; for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == a) aCount++; if (str.charAt(i) == b) bCount++; } if( a.. 더보기
프로그래머스 level1 문제 : 같은 숫자는 싫어 List integerList = new ArrayList(); for(int i=0; i 더보기
프로그래머스 level1 문제 : 2016년 문제는 2016년 a월 b일이 무슨 요일인지 맞추는 것입니다. 조건은, 2016년은 윤년이며, 1월 1일은 금요일입니다. 저는 날짜를 일월화수목금토일 1 2 3 4 5 6 7 8 9 10 11 이런식으로 써놓고, 계산을 미리 해봤습니다. int[] days = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int[] month = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; String[] week = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"}; 위처럼 구성해놓고(월과 일은 귀찮아서 0을 앞에 붙였습니다..), 예를 들어, 2월 5일은 1월의 31일 +5일 => 36일입니다. .. 더보기
프로그래머스 Level1 알고리즘 역시 공부를... 시작했어요 프로그래머스와 백준 싸이트에서 공부를 할 예정입니다. 저는 자바 유저이니 자바로만 된 문제를 풀어보겠습니다!!! 프로그래머스 Level1 1. 가운데 글자 가져오기 if(word.length()%2 == 0) { return word.substring(word.length()/2-1, word.length()/2+1); } else { return word.substring(word.length()/2, word.length()/2+1); } 2. 최대 공약수와 최소 공배수int[] answer = new int[2]; if(a 더보기