# 1
문제설명
정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요.
답안 -> 정답
class Solution {
public int solution(int num1, int num2) {
int answer = num1 + num2;
return answer;
}
}
#2
문제 설명
정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요.
답안 -> 정답
class Solution {
public int solution(int num1, int num2) {
int answer = num1 - num2;
return answer;
}
}
#3
문제 설명
정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요.
답안 -> 정답
class Solution {
public int solution(int num1, int num2) {
int answer = num1 * num2;
return answer;
}
}
#4
문제 설명
정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.
답안 -> 정답
class Solution {
public int solution(int num1, int num2) {
int answer = num1 / num2;
return answer;
}
}
#5
문제설명
정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.
답안 -> 정답
class Solution {
public int solution(int num1, int num2) {
int answer = num1 % num2;
return answer;
}
}
#6 나이출력
문제 설명
머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요.
답안 -> 정답
class Solution {
public int solution(int age) {
int answer = 2022 - age + 1;
return answer;
}
}
#7 숫자비교하기
문제 설명
정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.
답안 -> 오답
class Solution {
public int solution(int num1, int num2) {
if (num1 == num2) {
return answer = 1;
} else if (num1 != num2) {
return answer = -1;
}
}
}
수정답안 -> 정답
class Solution {
public int solution(int num1, int num2) {
int answer = 0;
if (num1 == num2) {
return answer = 1;
} else {
return answer = -1;
}
}
}
틀렸던 이유 :
answer라는 변수를 사전에 설정해주지 않았음.
또한 수정 중 굳이 else if 를 사용하지 않고 else만 사용해도 됨을 알았음.
#8 각도기
문제 설명
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
답안 -> 오답
class Solution {
public int solution(int angle) {
int answer = 0;
if (angle < 90) {
return answer = 1;
} else if (angle == 90) {
return answer = 2;
} else if (angle < 180) {
return answer = 3;
} else if (angle == 180) {
return answer = 4;
}
}
}
수정답안 -> 오답
class Solution {
public int solution(int angle) {
int answer = 0;
if (0 < angle && angle < 90) {
return answer = 1;
} else if (angle == 90) {
return answer = 2;
} else if (90 < angle && angle < 180) {
return answer = 3;
} else if (angle == 180) {
return answer = 4;
}
}
}
최종수정답안 -> 정답
class Solution {
public int solution(int angle) {
int answer = 0;
if (0 < angle && angle < 90) {
answer = 1;
} else if (angle == 90) {
answer = 2;
} else if (90 < angle && angle < 180) {
answer = 3;
} else if (angle == 180) {
answer = 4;
}
return answer;
}
}
틀린 이유 :
1. 한번에 부등호를 여러개 쓰는게 아닌 &&으로 묶어줘야되는 것을 간과했다.
2. if 구문에서 각각 answer = ; 로 변수를 할당하고 if 구문이 종료되고나서 return answer; 로 확인해야한다.
#9 짝수의 합
문제 설명
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
풀이 - > 정답
class Solution {
public int solution(int n) {
int answer = 0;
for (int i=1; 2*i <= n; i++) {
answer = 2 * i + answer;
}
return answer;
}
}
모범답안
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=2; i<=n; i+=2){
answer+=i;
}
return answer;
}
}
++1 은 1씩 더하는거지만 증감 자리에 +=는 2씩 더한다는 뜻임.
for ( int i = 2; i<=n; i+=2){ // int i = 2 부터; i<=n i가 n보다 작거나 같을때동안; i에 2씩 더한다
answer+=i; // answer에 i씩 더한다. answer = i + answer
}
'Algorithms' 카테고리의 다른 글
| 완전탐색 (For 반복문, 백준 19532, 2503) (1) | 2025.02.07 |
|---|---|
| [프로그래머스] java 언어기초 3일차 (3) | 2023.11.25 |