-
프로그래머스 코딩테스트(수 조작하기 2, 문자열 뒤집기, 수열과 구간 쿼리 3)코딩테스트 2023. 5. 22. 17:29
<수 조작하기 2>
문제 설명
정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다.
"w" : 수에 1을 더한다.
"s" : 수에 1을 뺀다.
"d" : 수에 10을 더한다.
"a" : 수에 10을 뺀다.
그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다.
주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요.풀이
class Solution {
public String solution(int[] numLog) {
String answer = "";
for(int i=1;i<numLog.length;i++){
if(numLog[i-1]+1==numLog[i]){
answer += "w";
} else if(numLog[i-1]-1==numLog[i]){
answer += "s";
} else if(numLog[i-1]+10==numLog[i]){
answer += "d";
} else answer += "a";
}
return answer;
}
}<문자열 뒤집기>
문제 설명
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.풀이
class Solution {
public String solution(String my_string, int s, int e) {
String answer = my_string.substring(0,s);
for(int i=e;i>=s;i--){
answer+= my_string.charAt(i);
}
answer += my_string.substring(e+1, my_string.length());
return answer;
}
}<수열과 구간 쿼리 3>
문제 설명
정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다.
각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다.
위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.풀이
class Solution {
public int[] solution(int[] arr, int[][] queries) {
for(int i=0;i<queries.length;i++){
int temp = arr[queries[i][0]];
arr[queries[i][0]] = arr[queries[i][1]];
arr[queries[i][1]] = temp;
}
return arr;
}
}'코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트(배열 만들기 5, 간단한 논리 연산, 이진수 더하기) (0) 2023.05.23 프로그래머스 코딩테스트(한 번만 등장한 문자, 수열과 구간 쿼리 1, 1로 만들기) (0) 2023.05.22 프로그래머스 코딩테스트(진료순서 정하기, 문자열 반복해서 출력하기, 숨어있는 숫자의 덧셈 (2)) (0) 2023.05.20 프로그래머스 코딩테스트(가까운 수, 등차수열의 특정한 항만 더하기, 문자열 잘라서 정렬하기) (0) 2023.05.19 프로그래머스 코딩테스트(두 수의 연산값 비교하기, k의 개수, 특별한 이차원 배열 1) (0) 2023.05.18