전체 글
프로그래머스 (Level 1) 문자열 다루기 기본 [Java]
- 문제 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 입출력 예 - 한 줄 요약 문자열의 길이와 숫자로 구성되있는지 파악하기 - 내 코드 1. 문자열의 길이가 4 OR 6일때 문자열의 길이만큼 for문을 돌린다. 2. 아스키코드값을 확인해(숫자 : 48~57) 범위에 해당하지 않으면 answer에 false를 대입하고 for문을 종료시킨다. 3. 범위에 해당하면 answer에 true를 대입한다. 4. 문자열의 길이가 4와 6이 아닐 때 answer에 false를 대입한다. class ..
프로그래머스 (Level 1) 문자열 내림차순으로 배치하기 [Java]
- 문제 문자열 s에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 str은 길이 1 이상인 문자열입니다. 입출력 예 - 한 줄 요약 소문자 -> 대문자 크기로 정렬하기 - 내 코드 1. s.split("") 을 사용해 기존 문자열의 문자를 한 개씩 배열에 넣는다. 2. Arrays.sort()를 사용해 대문자 -> 소문자 순으로 정렬시킨다. 3. Collections.reverse(Arrays.asList())를 사용해 소문자..
프로그래머스 (Level 1) 두 정수 사이의 합 [Java]
- 문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소 관계는 정해져 있지 않습니다. 입출력 예 - 한 줄 요약 a ~ b 사이의 숫자를 더하기 - 내 코드 : for문에 3항연산자를 사용해보았다. 1. i 초기값 : b가 a보다 크면 a, a가 b보다 크면 b 반환(..
프로그래머스 (Level 1) 나누어 떨어지는 숫자 배열 [Java]
문제 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 한 줄 요약 arr의 원소중 divisor로 나눴을 때 나머지가 0인 원소들을 오름차순으로 정렬! 내 코드 1. divisor로 나누어 떨어지는 원소 담을 ArrayList 생성 2. ArrayList에 나누어 떨어지는 수 for문으로 넣기 3. ArrayList..
프로그래머스 (Level 1) 같은 숫자는 싫어 [Java]
- 문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 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 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 같..
프로그래머스 (Level 1) 가운데 글자 가져오기 [Java]
- 문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 - 한 줄 요약 길이가 홀수인 문자열이 주어지면 가운데 수 반환, 짝수인 문자열이 주어지면 가운데 수, 가운데 수+1 반환 - 내 코드 1. 문자열의 길이는 홀수일 경우를 생각해 실수형 float를 앞에 붙여주고, 반올림 한다. 2. 나머지가 1(홀수) 일때는 가운데 수 반환, 0(짝수) 일때는 substring을 사용해 가운데 수, 가운데 수+1 반환한다. import java.util.*; class Solution { public String solution(String s) { String..
프로그래머스 (Level 1) K번째수 [Java]
- 문제 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니다. ar..
프로그래머스 (Level 1) 완주하지 못한 선수 [Java]
오늘부터 프로그래머스 연습문제를 풀 것이다. 레벨3까지 정복을 위해 레벨1부터 달려보자!! 문제는 완료자 수가 제일 많은 것부터 적은 순서로 진행할 것이다. 그 중 제일 푼 사람이 많았던 '완주하지 못한 선수'를 풀어보자! - 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 ..