필자가 Baekjoon Online Judge에서 문제를 풀면서 C++ 언어를 자주 사용한다. 특히 간단한 문제에서는 Pascal 언어를 사용할 때도 있다.
필자가 Pascal 언어를 사용하는 이유
- Baekjoon Online Judge에 제출 시, 기본 사용 메모리가 상대적으로 적다.
(C : 약 1,112KB, C++ : 약 2,020KB, Pascal : 약 336KB)
(C언어에서 main 함수의 선언 방법을 바꾸면 약 156KB가 나온다고 한다. [참고]) - C/C++ 보다 짧은 코드를 작성할 수 있는 문제도 있다.
(Python, Golfscript 등과 같은 언어는 더 짧다.)
백준 1000번 언어별 코드 분석
C
/*
* Memory : 1,112KB
* Time : 0ms
* Code Length : 39 Byte
*/
main(n){gets(&n);printf("%d",n%85-43);}
C++
/*
* Memory : 2,020KB
* Time : 0ms
* Code Length : 65 Byte
*/
#include<iostream>
main(){char s[4];std::cout<<*gets(s)+s[2]-96;}
Pascal
(*
* Memory : 336KB
* Time : 0ms
* Code Length : 43 Byte
*)
VAR A,B:BYTE;BEGIN READ(A,B);WRITE(A+B)END.
Python
# Memory : 31,256KB
# Time : 44ms
# Code Length : 39 Byte
a,b=map(int,input().split())
print(a+b)
문제 풀이 분석 (Pascal, 2023년 8월 13일 기준)
- 해결한 문제의 수 : 326문제 (번외 문제 제외)
- 제출 횟수 : 348회
- 정답률 : 93.68% (백준 15595번 문제 참고)
- AC Rating : 약 960 (Gold V, 태그 Rating 계산식 적용)
- 참고 : 해결한 문제의 90% 이상이 Bronze 문제로, 비교적 간단한 문제만 해결할 수 있었음.
추후 계획
- 프로그래밍 언어에 대한 다양한 정보 제공
- Baekjoon Online Judge에 수록된 다양한 문제 풀이 제작
(난이도 순서로 진행할 예정) - 기타 등등