본문 바로가기

반응형
프로그래머스 level1 문제 : 문자열 내 마음대로 정렬하기(java) 이번 문제는 어려?웠네요..... 문제 설명 : 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건 : 1. strings는 길이 1 이상, 50이하인 배열입니다. 2. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. 3. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 4. 모든 strings의 원소의 길이는 n보다 큽니다. 5. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 이렇게 문제가.. 더보기
프로그래머스 level1 문제 : 문자열 내 p와 y의 개수(java) 문제 설명 : 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.예를들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다. 제한 조건 : 1. 문자열 s의 길이 : 50 이하의 자연수2. 문자열 s는 알파벳으로만 이루어져 있습니다. 해결 방법 : 1번 문제 : 1. 주어진 s의 String을 Array로 만들어 보자 생각했습니다.2. 만든 배열을 하나씩 "P"와 "p", "Y"와 "y"와 비교했습니다.(이 .. 더보기
프로그래머스 level1 문제 : 두 정수 사이의 합(java) 문제 설명 : 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 : 1. a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.2. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.3. a와 b의 대소관계는 정해져있지 않습니다. 해결 방법 : 1번 풀이의 경우1. 3가지 경우(ab)일 경우를 따로해 for문으로 +1씩 더한다.2. 도출한 결과가 정답!public long solution(int a, int b) { long answer = 0; if( a < b) { for(int i=a; i 더보기
프로그래머스 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; 오랜만에 문제를 푸니 하나도 모르겠네요.. 매일 .. 더보기
객체지향 프로그래밍이란? 안녕하세요 오랜만에 글을 씁니다. 오늘은 "객체지향 프로그래밍(Object - Oriented Programming)" 에 대해 써보려고 합니다. 다양한 면접을 다니면서도 많이들 묻는 질문이죠. 객체지향이란 무엇이냐?, 장점은 무엇이고 특징은 무엇이냐, 등등 단골 질문입니다. 시작하겠습니다~!!! (계속 수정하면서 써야겠네요...) --------------------------------------------------------객체지향프로그래밍이라고들 많이 하는데, 우선 객체가 무엇인지부터 알아보겠습니다. 객체(Object)란? - 저장공간에서 할당되어 값을 가지거나 식별자에 의해 참조되는 공간을 의미하며, 변수, 자료구조, 함수 또는 메소드가 될 수 있다.(즉, 메모리가 할당되기 전까지 객체는 존재.. 더보기
다양한 recyclerView 활용법 제목 그대로 recyclerView에 체크박스를 놔두고 선택한 개수를 제한하는 방법, 제한 없는 방법, 한개만 선택 가능한 recyclerView를 구현해볼 예정입니다. 코드만 보실 분은 https://github.com/JC-Choo/JC_Android/tree/master/Test_folder 참고하세요! 우선, MainActivity 에서 자신이 활용해볼 adater를 선택합니다. 1. MainActivity tag = "multiple"; List list = getList(); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); switch (tag) { case "Single": adapterSingle = new SingleSele.. 더보기