
n의 배수
[문제 설명]
정수 num과 n이 매개 변수로 주어질 때,
num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.
[제한사항]
2 ≤ num ≤ 1002 ≤ n ≤ 9
입출력 예)
입출력 예)
num n result 98 2 1 34 3 0
98은 2의 배수이므로 1을 return합니다.
입출력 예)
32는 3의 배수가 아니므로 0을 return합니다.
class Solution {
public int solution(int num, int n) {
int answer = 0;
if(num%n == 0){
return 1;
}else{
return answer;
}
}
}
n으로 나눈 나머지가 0이면 n의 배수로 구별
맞으면 1 아니면 0 리턴 !
공배수
[문제 설명]
정수 number와 n, m이 주어집니다.
number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.
[제한사항]
10 ≤ number ≤ 1002 ≤ n, m < 10
입출력 예)
입출력 예)
number n m result 60 2 3 1 55 10 5 0
60은 2의 배수이면서 3의 배수이기 때문에 1을 return합니다.
입출력 예)
55는 5의 배수이지만 10의 배수가 아니기 때문에 0을 return합니다.
class Solution {
public int solution(int number, int n, int m) {
int answer = (number%n == 0) && (number%m == 0) ? 1:0;
return answer;
}
}
if문을 자주 쓴 것 같아 이번엔 삼항연산자를 사용했다
확실히 코드가 더 깔끔한 느낌 !
홀짝에 따라 다른 값 반환하기
[문제 설명]
양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.
[제한사항]
1 ≤ n ≤ 100
입출력 예)
입출력 예)
n result 7 16 10 220
예제 1번의 n은 7로 홀수입니다.
7 이하의 모든 양의 홀수는 1, 3, 5, 7이고 이들의 합인 1 + 3 + 5 + 7 = 16을 return 합니다.
입출력 예)
예제 2번의 n은 10으로 짝수입니다.
10 이하의 모든 양의 짝수는 2, 4, 6, 8, 10이고 이들의 제곱의 합인 22 + 42 + 62 + 82 + 102 = 4 + 16 + 36 + 64 + 100 = 220을 return 합니다.
class Solution {
public int solution(int n) {
int answer = 0;
if(n%2 != 0){
for(int i=1; i<=n; i+=2){
answer += i;
}
}else{
for(int i=2; i<=n; i+=2){
answer += (i*i);
}
}
return answer;
}
}
처음에는 for문을 한번만 돌렸는데
도저히 각이 안잡혀서 둘로 나눴다
조건도 짝수 홀수 다르고 하니 !
제곱은 숫자*숫자 값이니까 i*i 처리했다
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = n; i >= 0; i -= 2)
answer += (n % 2 == 0) ? i * i : i;
return answer;
}
}
이건 다른 사람의 코드
여기서도 삼항을.. 생각도 못했다
허를 찌르네 ㅜㅜ
조건 문자열
[문제 설명]
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
두 수가 n과 m이라면">", "=" : n >= m"<", "=" : n <= m">", "!" : n > m"<", "!" : n < m두 문자열 ineq와 eq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.
[제한 사항]
1 ≤ n, m ≤ 100
입출력 예)
입출력 예)
ineq eq n m result "<" "=" 20 50 1 ">" "!" 41 78 0
20 <= 50은 참이기 때문에 1을 return합니다.
입출력 예)
41 > 78은 거짓이기 때문에 0을 return합니다.
class Solution {
public int solution(String ineq, String eq, int n, int m) {
boolean answer = false;
switch(eq) {
case "!":
switch(ineq) {
case "<":
answer = n < m;
break;
case ">":
answer = n > m;
break;
}
break;
case "=":
switch(ineq) {
case "<":
answer = n <= m;
break;
case ">":
answer = n >= m;
break;
}
break;
}
return answer ? 1 : 0;
}
}
if, else if를 쓸까 하다가 너무 길어질것 같아서 switch문을 썼는데 eq가 "!" 일 때와 "=" 일 때로 나눠야해서 이중 switch문을 썼다
그러다보니 어째 더 길어진 느낌 ..?
flag에 따라 다른 값 반환하기
[문제 설명]
두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때,
flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
[제한사항]
-1,000 ≤ a, b ≤ 1,000
입출력 예)
입출력 예)
a b flag result -4 7 true 3 -4 7 false -11
예제 1번에서 flag가 true이므로 a + b = (-4) + 7 = 3을 return 합니다.
입출력 예)
예제 2번에서 flag가 false이므로 a - b = (-4) - 7 = -11을 return 합니다.
class Solution {
public int solution(int a, int b, boolean flag) {
return flag ? a+b:a-b;
}
}
flag는 데이터 타입이 boolean이기 때문에
삼항연산자를 쓸 때 별도로 조건을 넣지 않았다
flag 자체가 조건이 되기 때문 !
참이면 a+b 리턴 그렇지 않으면 a-b을 리턴한다
'🤍 𝙋𝙍𝙊𝙂𝙍𝘼𝙈𝙈𝙀𝙍𝙎' 카테고리의 다른 글
[프로그래머스] Day5 조건문 (0) | 2024.08.21 |
---|---|
[프로그래머스] Day3 연산 (1) | 2024.07.14 |
[프로그래머스] Day2 출력, 연산 (0) | 2024.07.03 |
[프로그래머스] Day1 출력 (0) | 2024.07.02 |