Category/코딩테스트
프로그래머스 코딩테스트 연습 - 홀짝 구분하기
developer__Y
2023. 9. 20. 19:07
프로그래머스 > 코딩 기초 트레이닝 > 홀짝 구분하기
문제 출처 :
https://school.programmers.co.kr/learn/courses/30/lessons/181944
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명 :
자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.
문제 풀이 :
첫번째 풀이 - if 조건문을 사용하여 입력된 값 n을 2로 나누어 나머지가 0이면 (짝수이면) "n is even" ,
나머지가 1이면(짝수이면) "n is odd" 을 출력한다.
import java.util.Scanner;
public class codingtest1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if (n % 2 == 1) {
System.out.println(n + " is odd");
} else {
System.out.println(n + " is even");
}
}
}
두번째 풀이 - 조건연산자(삼항연산자) ? : 을 사용하여 나머지값(0 or 1) 조건문을 작성한다.
import java.util.Scanner;
public class codingtest1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println ( n + " is " + (n % 2 ==0 ? "even" : "odd"));
}
}
홀수값과 짝수값을 구하기위하여 해당 수를 2로 나눈값이 0,1이라는 간단한 로직을 사용하는 것을 통해
코딩과 수학적 개념이 밀접한 연관을 갖고있다는 것을 깨닫게 되었다.
복잡한 알고리즘을 만들기 위해 수학적인 지식도 반드시 필요할 것 같다.
또한, 해당문제를 풀면서 단순히 if 조건문만 떠올리고, ? : 라는 조건연산자는 생각치도 못했다.
같은 기능을 구현하더라도 지식의 넓이에 따라 다양한 방법으로 해당 기능을 구현할수있다는 것!
얼른 기초트레이닝 졸업해야지!