-
프로그래머스 코딩테스트(배열의 원소만큼 추가하기, A 강조하기, 인덱스 바꾸기)코딩테스트 2023. 5. 5. 22:57
<배열의 원소만큼 추가하기>
문제 설명
아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.풀이
class Solution {
public int[] solution(int[] arr) {
int sum = 0;
for(int i:arr){
sum+=i;
}
int[] answer = new int[sum];
int n = 0;
for(int j=0;j<arr.length;j++){
for(int k=0;k<arr[j];k++){
answer[n+k] = arr[j];
}
n+=arr[j];
}
return answer;
}
}다른 사람 풀이
class Solution { public int[] solution(int[] arr) { int len = 0; for(int i : arr) len += i; int[] answer = new int[len]; int idx = 0; for(int i = 0; i < arr.length; i++) for(int j = 0; j < arr[i]; j++) answer[idx++] = arr[i]; return answer; } }
<A 강조하기>
문제 설명
문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.풀이
class Solution {
public String solution(String myString) {
String answer = "";
for(int i=0;i<myString.length();i++){
if(myString.charAt(i) == 'a'){
answer += 'A';
} else if('B'<=myString.charAt(i)&&myString.charAt(i)<='Z'){
answer += (myString.charAt(i)+"").toLowerCase();
} else {
answer += myString.charAt(i);
}
}
return answer;
}
}다른 사람 풀이
class Solution { public String solution(String myString) { myString = myString.toLowerCase(); myString = myString.replace('a', 'A'); return myString; } }
<인덱스 바꾸기>
문제 설명
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.풀이
class Solution {
public String solution(String my_string, int num1, int num2) {
String answer = "";
for(int i=0;i<my_string.length();i++){
if(i==num1){
answer += my_string.charAt(num2);
} else if(i==num2){
answer += my_string.charAt(num1);
} else {
answer += my_string.charAt(i);
}
}
return answer;
}
}다른 사람 풀이
class Solution { public String solution(String my_string, int num1, int num2) { String answer = ""; char[] ch = my_string.toCharArray(); ch[num1] = my_string.charAt(num2); ch[num2] = my_string.charAt(num1); answer = String.valueOf(ch); return answer; } }
'코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트(가장 큰 수 찾기, 부분 문자열 이어 붙여 문자열 만들기, 피자 나눠 먹기 (2)) (0) 2023.05.07 프로그래머스 코딩테스트(뒤에서 5등까지, 배열 회전시키기, 외계행성의 나이) (0) 2023.05.06 프로그래머스 코딩테스트(직각삼각형 출력하기, n의 배수 고르기, 최댓값 만들기 (2)) (0) 2023.05.04 프로그래머스 코딩테스트(홀수 vs 짝수, 원하는 문자열 찾기, 문자열 정렬하기 (1)) (0) 2023.05.03 프로그래머스 코딩테스트(접두사인지 확인하기, 마지막 두 원소, 덧셈식 출력하기) (0) 2023.05.02