본문 바로가기

개발새발 개발자/알고리즘 문제 풀이

[BOJ] Baekjoon Online Judge 이용 방법

Baekjoon Online Judge(BOJ)를 처음 접하는 사람이 흔히 하기 쉬운 실수를 정리해봤다. 는 사실 나만 헤맸던 걸수도^^;

 

1. Main 클래스부터 시작하기

이게 무슨 말이냐 하면, 패키지 import나 클래스 선언부터...그러니까 아예 처음부터 써야 통과할 수 있는 거였다.

 

정말 쉬운 Hello World도 안되길래 '나는 sysout도 못하는 똥멍청이야...' 라고 스스로를 타박하며 괴로워하다가 '설마..혹시....이것 때문인가....'하고 번뜩 떠올라 시도했다가 알게되었다. 그러니까 결국 나는 똥멍청이긴 했던 것

 

예를 들면,

System.out.println("Hello World");

이렇게만 덜렁 써서 제출했는데

 

public class Main{
	public static void main(String args[]){
		System.out.println("Hello, World");
	}
}

이렇게 했어야 했던 것이다. 심지어 저 class 이름도 Main이 아니면 안됨. 문제 제목으로 했다가 계속 컴파일 실패 떠서 또 몇 시간을 날려버렸다...흑흑

 

홈페이지의 도움말을 읽어봐도 위의 내용은 설명된 부분이 없어서(혹시 있다면 알려주세요 T.T) 나처럼 온라인 알고리즘 문제 풀이를 처음 접한 사람은 많이 헤맬 수 있을 것 같다.

 

2. 쉽게 생각하기

'알고리즘' 이나 '백준' 하면 뭔가 엄청나게 머리를 써야하는, 대단한 존재 라는 이미지가 커서인지 몰라도, 문제를 자꾸 어렵게 생각하게 되는 경향이 있다.

 

하지만 알고보면 엄청 쉽게 하드코딩으로 풀리는 것이어서 허탈했던...예를 들면 7287번!

나는 문제를 보자마자 '응? 내가 맞은 문제 개수랑 아이디를 대체 어디서 불러와야하지???' 하고 크게 당황했다. 하지만 알고보니 그냥 내 정보에서 개수를 본 다음 그냥 하드코딩 하는 것이었던....^^......넘나 허탈......

 

public class Main {

    public static void main(String[] args) {
     System.out.println("7\n"+                      
                        "ID");                          
    }
}

바로 이렇게 말이다! 얼마나 허무하고 허탈한가!!!! 흐흑

 

일단 지금까지 내가 겪은 시행착오는 여기까지. 혹시 또 추가할 것이 있으면 돌아오겠음!