-
프로그래머스 코딩테스트(문자열 정렬하기 (2), 할 일 목록, 콜라츠 수열 만들기)코딩테스트 2023. 5. 13. 10:50
<문자열 정렬하기 (2)>
문제 설명
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.풀이
import java.util.Arrays;
class Solution {
public String solution(String my_string) {
String[] arr = my_string.toLowerCase().split("");
Arrays.sort(arr);
String answer = "";
for(String i:arr){
answer+=i;
}
return answer;
}
}다른 사람 풀이
import java.util.*; class Solution { public String solution(String my_string) { char[] c = my_string.toLowerCase().toCharArray(); Arrays.sort(c); return new String(c); } }
<할 일 목록>
문제 설명
오늘 해야 할 일이 담긴 문자열 배열 todo_list와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished가 매개변수로 주어질 때, todo_list에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.풀이
class Solution {
public String[] solution(String[] todo_list, boolean[] finished) {
String str= "";
for(int i=0;i<finished.length;i++){
if(!finished[i]){
str+=todo_list[i]+",";
}
}
return str.split(",");
}
}<콜라츠 수열 만들기>
문제 설명
모든 자연수 x에 대해서 현재 값이 x이면 x가 짝수일 때는 2로 나누고, x가 홀수일 때는 3 * x + 1로 바꾸는 계산을 계속해서 반복하면 언젠가는 반드시 x가 1이 되는지 묻는 문제를 콜라츠 문제라고 부릅니다.
그리고 위 과정에서 거쳐간 모든 수를 기록한 수열을 콜라츠 수열이라고 부릅니다.
계산 결과 1,000 보다 작거나 같은 수에 대해서는 전부 언젠가 1에 도달한다는 것이 알려져 있습니다.
임의의 1,000 보다 작거나 같은 양의 정수 n이 주어질 때 초기값이 n인 콜라츠 수열을 return 하는 solution 함수를 완성해 주세요.풀이
class Solution {
public int[] solution(int n) {
String str = n+",";
for(;;){
if(n%2==0){
n/=2;
} else {
n=3*n+1;
}
str+=n+",";
if(n==1) break;
}
String[] arr = str.split(",");
int[] answer = new int[arr.length];
for(int i=0;i<arr.length;i++){
answer[i] = Integer.parseInt(arr[i]);
}
return answer;
}
}'코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트(배열의 원소 삭제하기, 가까운 1 찾기, 중복된 문자 제거) (0) 2023.05.15 프로그래머스 코딩테스트(ad 제거하기, 특별한 이차원 배열 2, 배열 비교하기) (0) 2023.05.14 프로그래머스 코딩테스트(주사위 게임 2, l로 만들기, 9로 나눈 나머지) (0) 2023.05.12 프로그래머스 코딩테스트(0 떼기, 합성수 찾기, 5명씩) (0) 2023.05.11 프로그래머스 코딩테스트(간단한 식 계산하기, 숫자 찾기, 순서 바꾸기) (0) 2023.05.10