-
프로그래머스 코딩테스트(n보다 커질 때까지 더하기, 수 조작하기 1, 배열 만들기 1)코딩테스트 2023. 4. 29. 15:48
<n보다 커질 때까지 더하기>
문제 설명
정수 배열 numbers와 정수 n이 매개변수로 주어집니다. numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 return 하는 solution 함수를 작성해 주세요.풀이
class Solution {
public int solution(int[] numbers, int n) {
int answer = 0;
for(int i:numbers){
answer+=i;
if(answer>n)
return answer;
}
return answer;
}
}<수 조작하기 1>
문제 설명
정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다.
"w" : n이 1 커집니다.
"s" : n이 1 작아집니다.
"d" : n이 10 커집니다.
"a" : n이 10 작아집니다.
위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요.풀이
class Solution {
public int solution(int n, String control) {
for(int i=0;i<control.length();i++){
switch(control.charAt(i)){
case 'w':
n++;
break;
case 's':
n--;
break;
case 'd':
n+=10;
break;
case 'a':
n-=10;
break;
}
}
return n;
}
}<배열 만들기 1>
문제 설명
정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.풀이
class Solution {
public int[] solution(int n, int k) {
int num = 0;
for(int i=1;i<=n;i++){
if(i%k==0)
num++;
}
int[] answer = new int[num];
for(int j=0;j<num;j++){
answer[j] = k*(j+1);
}
return answer;
}
}다른 사람 풀이
class Solution { public int[] solution(int n, int k) { int count = n / k; int[] answer = new int[count]; for (int i = 1; i <= count; i++) { answer[i - 1] = k * i; } return answer; } }
'코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트(제곱수 판별하기, 특정한 문자를 대문자로 바꾸기, 홀짝 구분하기) (1) 2023.04.30 프로그래머스 코딩테스트(문자열안에 문자열, 배열의 길이에 따라 다른 연산하기, 글자 이어 붙여 문자열 만들기) (0) 2023.04.29 프로그래머스 코딩테스트(rny_string, 이어 붙인 수, 꼬리 문자열) (0) 2023.04.28 프로그래머스 코딩테스트(홀짝에 따라 다른 값 반환하기, 문자열 붙여서 출력하기, 개미 군단) (0) 2023.04.28 프로그래머스 코딩테스트(n번째 원소부터, 조건에 맞게 수열 변환하기 1, 원소들의 곱과 합) (0) 2023.04.27