본문 바로가기
Study/코딩문제풀이 모음

백준(BEAK JOON) 코딩 문제 푸는 방법

by 얏옹이 2023. 4. 10.
반응형

취업시즌이 다가오면서 코딩테스트에 대한 생각이 많아진다. 안보는 회사도 있고 보는 회사도 있지만, 내 편견인지 모르겠지만 보는회사가 안보는 회사보다는 좀더 대우도 좋고 규모도 크다.

 

그렇다면 코딩테스트에 대비해야하는데 어떤식으로 문제가 나오는지, 영 감이잡히질않는다. 그리고 경험상 코딩테스트는 문제 자체를 이해하는데 난이도가 좀 있는편이다.

 

그래서 많은 사람들이 코딩문제풀이 연습용이나 코딩테스트 대비용으로 프로그래머스나 백준을 이용한다.

 

프로그래머스: https://programmers.co.kr/

백준: https://www.acmicpc.net/

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

 

프로그래머스는 비교적 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