취업시즌이 다가오면서 코딩테스트에 대한 생각이 많아진다. 안보는 회사도 있고 보는 회사도 있지만, 내 편견인지 모르겠지만 보는회사가 안보는 회사보다는 좀더 대우도 좋고 규모도 크다.
그렇다면 코딩테스트에 대비해야하는데 어떤식으로 문제가 나오는지, 영 감이잡히질않는다. 그리고 경험상 코딩테스트는 문제 자체를 이해하는데 난이도가 좀 있는편이다.
그래서 많은 사람들이 코딩문제풀이 연습용이나 코딩테스트 대비용으로 프로그래머스나 백준을 이용한다.
프로그래머스: https://programmers.co.kr/
프로그래머스는 비교적 UI가 코딩문제풀이하게 편하게 되어있지만 개인적으로 백준은 아닌거같다.
하지만 많은사람들이 백준을 통해 코딩문제를 풀어보기때문에 백준을 배제할수 없다. 오늘은 백준 문제푸는 방법에 대해서 정리하겠다.
기본적인 문제를 보자.
문제
두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
첫째 줄에 A-B를 출력한다.
문제만 보면 참 간단하다. 나도 간단하게 생각해서 이런식으로 코드를 작성해보았다.
public static void main(String[] args){
System.out.println(sum(a,b));
}
public sum(int a, int b) {
return a + b;
}
하지만 이런식으로 작성하면 백준에서는 컴파일 에러가 발생한다. 그 이유는 간단하다. 백준은 규칙이 정해져있다.
첫째. 제출할때 클래스의 이름은 반드시 Main이여야할것. 즉 Main 클래스 코드도 문제풀이 코드에 포함되어야한다.
둘째. Main 클래스안의 Main 메소드를 이용하여야한다. 즉. 출력부분은 Main메소드를 이용해야한다.
그리고 내가 간과한 한가지, 문제를 보면 "입력 받는다" 라는것이다. 즉 저렇게 단순하게 생각해서는 안되고 Java내에서 입력받는 Scanner을 이용하여야하고, 그에따른 import 문구도 함께 적어주어야한다.
여기에서 정말 그동안 Tool을 이용한 코딩을 하다가 손수 손으로 적으려고하니 머리가 지진이다.
우여곡절 끝에 정답이라고 작성한 내 코드이다.
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if(a > 0 && b < 10) {
System.out.println(a+b);
}
}
}
이렇게 규칙에 맞게 작성해야만 컴파일 에러 없이 백준에서 문제풀이가 가능하다. 꼭 규칙을 지켜서 시간낭비 하는일없게 하자.
'Study > 코딩문제풀이 모음' 카테고리의 다른 글
프로그래머스 Lv.0 짝수의 합 구하기 (0) | 2022.11.06 |
---|