반응형
1. 문제 : 짝수와 홀수
정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, Solution을 완성해주세요.
- num은 int 범위의 정수입니다.
- 0은 짝수 입니다.
2. 내가 작성한 코드
class Solution {
public String solution(int num) {
String answer = "Even";
if(num % 2 != 0){
answer = "Odd";
}
return answer;
}
}
3. 다른 사람들의 풀이
public class EvenOrOdd {
String evenOrOdd(int num) {
return num % 2 == 0 ? "Even": "Odd";
}
public static void main(String[] args) {
//String str = "1 2 3 4";
EvenOrOdd evenOrOdd = new EvenOrOdd();
//아래는 테스트로 출력해 보기 위한 코드입니다.
System.out.println("결과 : " + evenOrOdd.evenOrOdd(3));
System.out.println("결과 : " + evenOrOdd.evenOrOdd(2));
}
}
4. 나와 다른 사람들의 풀이의 차이점
if문 대신 삼항 연산자를 사용하였더니 가독성이 좋아졌다. 또한 main 메서드로 객체를 생성하여 evenOrOdd 메서드를 사용하고 있어 재사용성을 높였다. class의 이름 또한 문제의 제목인 짝수 혹은 홀수로 바뀌어져 있다. 문제를 해결할 능력 뿐만 아니라 코드에 대한 재사용성과 가독성을 생각하며 풀이 해야할 필요성이 있다.
5. 삼항연산자
if 문 보다 항상 삼항 연산자가 좋은 것은 아니다. 삼항 연산자를 사용하여 코드라인이 줄어들었다고 컴파일 속도가 빨라지는 것은 아니며, 삼항 연산자를 중복하여 사용할 경우, 가독성이 떨어질 수 있으므로 중복처리는 피하는 것이 좋다.
int emp;
if (1 < 2){
emp = 10;
}else{
emp = 20;
}
//결과 emp = 10
System.out.println(emp);
//삼항연산자
int emp = (1 < 2) ? 10 : 20;
System.out.println(emp);
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm] 01. 선형탐색 알고리즘 VS 이진 탐색 알고리즘 (0) | 2022.09.18 |
---|---|
[코딩테스트] 5. 같은 숫자는 싫어 (0) | 2022.07.01 |
[Algorithm] 4. ★☆직사각형 별찍기☆★ (0) | 2022.06.30 |
[Algorithm] 3. 서울에서 김서방을 찾아보자 (0) | 2022.06.23 |
[Algorithm] 2. 수박수박수박수! (0) | 2022.06.22 |
댓글