본문 바로가기
JAVA/백준 알고리즘

[백준] 알고리즘 푸는 법, 팁, 컴파일 오류 해결 법

by 코딩전사_추추 2022. 3. 29.
728x90
반응형
 

Baekjoon Online Judge

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

www.acmicpc.net

 

많은 사람들이 알고리즘 문제를 풀기 위해 백준 사이트를 이용한다.

문제의 양도 많고, 다양하게 나누어져 있으며, 다양한 언어로 알고리즘을 풀 수 있다.

 

그런데 사용자로서 약간 불편했던 점이 어떻게 사용하는가?? 였다.

이번 포스팅은 백준을 사용하는 방법에 대해서 알아보고자 한다.


1. 어떻게 분류된 문제를 풀 것인지 선택한다.

백준 홈페이지에서는 문제를 다양하게 분류해 놓았다.

주로 전체문제를 보고 1000번부터 차례로 풀거나, 단계별로 분류된 문제를 푸는 경우가 많다.

필자는 단계별로 풀어보기에 도전했다.

백준 알고리즘 문제 분류

 

백준 단계별 문제

 

단계별 문제로 들어가 보면 단계별로 문제를 나누어 놓았고 1단계인 입출력과 사칙연산에서부터

49단계 매우 어려운 자료구조와 알고리즘까지 구성되어있다.

원하는 단계를 클릭해 들어가면 해당 단계에 속하는 여러 가지 알고리즘 문제가 나열되어 있다.


2. 문제 푸는 법

문제를 클릭하면 문제에 대한 설명이 나온다.

제한 시간과 메모리 제한 등 조건이 나오고, 문제에 대한 설명, 입력값과 출력값이 무엇인지 정의되어있다.

해당 문제의 답을 제출하고자 하면 제출 버튼을 클릭해 알고리즘을 작성한 언어를 선택하고 제출하면 된다.

 

백준 알고리즘 문제
백준 알고리즘 제출 페이지


3. 백준 알고리즘 팁

팁은 Java를 기반으로 한 팁입니다.

하지만 다른 언어로 해도 크게 다르지 않으니 참고하시면 될 것 같습니다.

대부분 제출 페이지에서 알고리즘을 바로 작성하기보다는 각자의 개발환경 (이클립스, 비주얼 스튜디오, 주피터 등)에서 알고리즘을 작성하고 복사해서 제출하는 경우가 많을 것이다.

 

이때 컴파일 오류가 발생하는 경우가 많은데 이는 아래와 같은 이유 때문인 경우가 많다.

 

1. 패키지의 이름이 들어갔을 경우

자바의 경우 패키지는 클래스를 정리하기 위해 사용할 때가 많을 텐데

백준 알고리즘 문제에서는 패키지를 만드라는 정의가 없기 때문에 컴파일 오류가 발생한다.

매번 붙여 넣을 때마다 패키지의 이름을 빼주어야 한다.

 

2. 클래스의 이름이 Main이 아닌 경우

백준 알고리즘 답을 제출할 때는 클래스의 이름이 항상 Main이어야 한다.

각자의 개발언어와 개발 환경에서 이름을 모두 Main으로 할 수 없기 때문에

항상 Main으로 바꾸어 주어야 한다.

 

3. import 한 내용이 빠진 경우

주로 Scanner를 import 해서 사용할 것이다.

그 경우 import java.util.Scanner;까지 포함되어 있어야 한다.

 

4. 꼭 설정하지 않아도 되는 조건이 있다.

아래 사진과 같이 입력 값에서 0<A, B<10라고 적혀있지만

굳이 조건식으로 코드를 짜지 않아도 된다. 

이것은 입력되는 값이 제한된 값이라는 것을 알려주는 것이지

입력된 값이 해당 조건에 맞는지는 구별하지 않아도 된다!

애초에 입력되는 값이 0<A, B<10이라는 것이다.

728x90
반응형