본문 바로가기

Algorithm/Programers - Java

(160)
[프로그래머스] 문자열 뒤집기 / StringBuilder.reverse() Level. 0 문제 문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요. * 제한사항 - my_string은 숫자와 알파벳으로만 이루어져 있습니다. - 1 ≤ my_string의 길이 ≤ 1,000 - 0 ≤ s ≤ e < my_string의 길이 풀이 class Solution { public String solution(String my_string, int s, int e) { String answer =""; String[] arr = my_string.split(""); // char[] arr = my_string.toCharArray(); while(s
[프로그래머스(Java)] 숨어있는 숫자의 덧셈 (2) / split() 정규식 Level. 0 문제 문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어 있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해 주세요. * 제한사항 - 1 ≤ my_string의 길이 ≤ 1,000 - 1 ≤ my_string 안의 자연수 ≤ 1,000 - 연속된 수는 하나의 숫자로 간주합니다. - 000123과 같이 0이 선행하는 경우는 없습니다. - 문자열에 자연수가 없는 경우 0을 return 해주세요. 풀이 class Solution { public int solution(String my_string) { int answer = 0; String num = ""; my_string += 'A'; f..
[프로그래머스(Java)] 가까운 수 / Arrays.sort() Level. 0 문제 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해 주세요. * 제한사항 - 1 ≤ array의 길이 ≤ 100 - 1 ≤ array의 원소 ≤ 100 - 1 ≤ n ≤ 100 - 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다. 풀이 import java.util.Arrays; class Solution { public int solution(int[] array, int n) { int answer = 0; int[][] arr = new int[array.length][2]; for(int i=0; i { if(o1[1] == o2[1]) return..
[프로그래머스(Java)] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 / lastIndexOf() Level. 0 문제 문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요. * 제한사항 - 5 ≤ myString ≤ 20 - 1 ≤ pat ≤ 5 pat은 반드시 myString의 부분 문자열로 주어집니다. - myString과 pat에 등장하는 알파벳은 대문자와 소문자를 구분합니다. 풀이 class Solution { public String solution(String myString, String pat) { String answer = ""; int index = 0, size = pat.length(); char last = pat.charAt(size-1); for..
[프로그래머스] 글자지우기 Level. 0 문제 문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요. * 제한사항 - 1 ≤ indices의 길이 < my_string의 길이 ≤ 100 - my_string은 영소문자로만 이루어져 있습니다 - 0 ≤ indices의 원소 < my_string의 길이 - indices의 원소는 모두 서로 다릅니다. 풀이 import java.util.List; import java.util.Arrays; import java.util.stream.Collectors; class Solution { public String solutio..
[프로그래머스(Java)] 중복된 숫자 개수 Level. 0 문제 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해 보세요. * 제한사항 - 1 ≤ array의 길이 ≤ 100 - 0 ≤ array의 원소 ≤ 1,000 - 0 ≤ n ≤ 1,000 풀이 1. import java.util.*; class Solution { public int solution(int[] array, int n) { int answer = 0; for(int num : array){ if(num == n) answer += 1; } return answer; } } 풀이 2. - Stream import java.util.*; class Solution { public..
[프로그래머스(Java)] 옹알이 (1) Level. 0 문제 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다. 문자열은 알파..
[프로그래머스(Java)] 배열의 길이를 2의 거듭제곱으로 만들기 / Arrays.copyOf() Level. 0 문제 정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요. * 제한사항 - 1 ≤ arr의 길이 ≤ 1,000 - 1≤ arr의 원소 ≤ 1,000 풀이 import java.util.Arrays; class Solution { public int[] solution(int[] arr) { int size = 1; while(size < arr.length){ size *= 2; } return Arrays.copyOf(arr, size); } } https://school.programmers.co.kr/lea..