- [ 기록/프로그래머스 ][프로그래머스 / 자바] 약수구하기2023-10-27 23:40:57문제 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 풀이 import java.util.ArrayList; class Solution { public int[] solution(int n) { ArrayList arr = new ArrayList(); for(int i = 1; i
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 세균 증식2023-10-25 10:27:04문제 어떤 세균은 1시간에 두 배만큼 증식한다고 합니다. 처음 세균의 마릿수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해 주세요. 풀이 class Solution { public int solution(int n, int t) { return (int)Math.pow(2, t)*n; } } Math.pow() 메서드 사용 double타입의 제곱 값을 반환해 준다. 1시간마다 2배씩 증식하니 2를 t번 거듭제곱! 참고할만한 다른 사람 풀이 class Solution { public int solution(int n, int t) { int answer = 0; answer = n
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 제곱수 판별하기2023-10-25 10:17:04문제 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요. 풀이 class Solution { public int solution(int n) { return Math.sqrt(n)%1 == 0 ? 1 :2; } } Math.sqrt() 사용 double타입 매개변수의 제곱근 값을 반환해준다. 이때 1로 나눈 나머지가 0이면 제곱근이니까 1 리턴 Math.sqrt(144) → 12.0%1 → 0 1이상이면 제곱근이 아니기때문에 2 리턴 Math.sqrt(976) → 31.240998703626616%1 → 0.2409987036266159
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 컨트롤 제트2023-10-25 09:50:32문제 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해 보세요. 풀이 스택이용해서 풀어봤다. 인덱스 때문에 고생 좀 했다😂 import java.util.Stack; class Solution { public int solution(String s) { int answer = 0; String[] s1 = s.split(" "); Stack numbers = new Stack(); for(int i = 0; i < s1.length; i++){ if(!s1[i].e..
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 중복된 문자 제거2023-10-25 09:15:06문제 문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return 하도록 solution 함수를 완성해주세요. 풀이 class Solution { public String solution(String my_string) { String answer = ""; for (int i = 0; i < my_string.length(); i++) { if(my_string.indexOf(my_string.charAt(i)) == i) { answer += my_string.charAt(i); } } return answer; } } indexOf() 메서드는 문자를 찾으면 해당 문자의 인덱스를 반환하고 없으면 -1을 반환한다(여기서는 자기..
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 모음제거2023-10-25 08:57:55문제 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 풀이 class Solution { public String solution(String my_string) { String[] vowel = {"a", "e", "i", "o", "u"}; for(int i = 0; i < vowel.length; i++){ if(my_string.contains(vowel[i])){ my_string = my_string.replace(vowel[i], ""); } } return my_string; } } 모음을 배열로 만들고 contains() 메서드 이용해 ..
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 소인수분해2023-10-25 08:34:40문제 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 풀이 import java.util.ArrayList; class Solution { public int[] solution(int n) { int i = 2; ArrayList arr = new ArrayList(); while (n != 1) { if(n % i == 0) { n /= i; if(!arr.contains(i)) arr.add(i); } else { i++; } } int[] an..
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 문자열 여러 번 뒤집기2023-10-23 19:59:40문제 문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어집니다. queries의 원소는 [s, e] 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다. my_string에 queries의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요. 풀이 class Solution { public String solution(String my_string, int[][] queries) { char[] arr = my_string.toCharArray(); for(int i = 0; i < queries.length; i++){ int s = queries[i][0]; // 시작인덱스 int e = queries[i]..