정수 배열 arr와 자연수 k가 주어집니다.만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더합니다.이러한 변환을 마친 후의 arr를 return 하는 solution 함수를 완성해 주세요.
<생각과정>
if문으로 k % 2 ==0 ,else 뽑아서 배열 arr에 k의 덧셈 곱셈 넣기
class Solution {
public int[] solution(int[] arr, int k) {
int[] answer = {};
if (k%2==0){
for(int i=0; i<arr.length; i++){
answer= arr[i] + k;
}
}else{
for(int i=0; i<arr.length; i++){
answer= arr[i] * k;
}
}
return answer;
}
}

배열의 덧셈 곱셈 바로 못하는데 어떻게 해줘야 할까
class Solution {
public int[] solution(int[] arr, int k) {
int[] answer = {};
if (k%2==0){
for(int i=0; i<arr.length; i++){
answer[i]= arr[i] + k;
}
}else{
for(int i=0; i<arr.length; i++){
answer[i]= arr[i] * k;
}
}
return answer;
}
}

새로운 오류 등장,,, 흠
class Solution {
public int[] solution(int[] arr, int k) {
int[] answer = new int[arr.length];
if (k%2==0){
for(int i=0; i<arr.length; i++){
answer[i]= arr[i] + k;
}
}else{
for(int i=0; i<arr.length; i++){
answer[i]= arr[i] * k;
}
}
return answer;
}
}
배열 생성 선언 해줄때 [size] 넣어주기
class Solution {
public int[] solution(int[] arr, int k) {
int[] answer = new int[arr.length];
if (k%2==0){
for(int i=0; i<arr.length; i++){
answer[i]= arr[i] + k;
}
}else{
for(int i=0; i<arr.length; i++){
answer[i]= arr[i] * k;
}
}
return answer;
}
}

성공...!
<코딩 줄여보기>
class Solution {
public int[] solution(int[] arr, int k) {
for(int i = 0; i < arr.length; i ++){
if (k%2==0){
arr[i]= arr[i] + k;
}else{
arr[i]= arr[i] * k;
}
}
return arr;
}
}
처음 주어지는 answer 안쓰고 써봤는데 현재로썬 이게 최선인듯...
'코딩테스트 > 프로그래머스_코딩 기초 트레이닝' 카테고리의 다른 글
[프로그래머스] n의 배수 (0) | 2023.05.30 |
---|---|
[프로그래머스] 원소들의 곱과 합 (0) | 2023.05.30 |
[프로그래머스] 첫 번째로 나오는 음수 (2) | 2023.05.29 |
[프로그래머스] 옷가게 할인 받기 (7) | 2023.05.26 |
[프로그래머스] 아이스 아메리카노 (0) | 2023.05.26 |