싸피 알고리즘 문제 출제
최근에 SW 개발자 취업&이직 카카오톡 오픈톡방을 운영중인 안산학생님의 추천으로 인하여 SSAFY를 수강하고 있는 학생들을 위하여 알고리즘 문제 출제를 진행하게 되었습니다.
이번에는 swea에서 문제 풀이와 출제를 진행하면서 경험했던 내용과 알고리즘 문제출제를 하면서 느낀점 에 대해서 적어보고자 합니다.
SWEA 문제 출제
지금까지 백준 온라인 저지를 통하여 알고리즘 문제 풀이 및 출제, 검수를 진행해 보았었지만, swea를 통해서 진행하는 것은 처음이였습니다.
백준 온라인 저지에서는 BOJ HELP에 있는 문제 출제 조건을 만족하는 분들이 BOJ STACK을 통하여 문제 출제를 진행할 수 있습니다.
BOJ STACK에서는 문제 지문, 예제 입출력을 작성하는 란과 데이터, 데이터 검증, 테스트할 수 있는 란으로 구성되어져 있습니다.
SWEA는 누구나 알고리즘 문제를 출제할 수 있으며 지문, 입출력설명, 데이터, 테스트케이스 개수, 각 언어별 시간제한, 메모리 제한을 둘 수 있도록 되어져 있습니다.
SWEA를 통해 문제출제를 진행하면서 느낀 장점과 단점
장점
1. 언어별로 시간 제한을 둘 수 있음
2. 라이브러리를 사용할 수 없도록 할 수 있음
3. input output 데이터를 txt파일로 데이터를 입력할 수 있음
단점
1. 특정 언어들(C, C++, JAVA, Python)만 제공 가능함
2. input과 ouput 파일에 데이터가 많이 존재해도, 입력받은 테스트 케이스 개수만큼만 채점이 가능함
3. output 데이터는 테스트케이스별로 줄바꿈(\n)이 이루어져야 함, 1개의 테스트케이스는 1개의 line만을 허용
SWEA를 통해 문제 풀이를 진행하면서 느낀 장점과 단점
장점
1. 현재 몇개의 테스트케이스가 통과되었는지 알수 있음
2. 기본적인 Main class에 class 이름만 변경하여 제출이 가능하여 외부 ide를 통해 문제를 풀 수 있음 (java)
단점
1. 무슨 케이스가 실패하였는지 볼 수 없음
2. data를 모아서 출력(StringBuilder)를 사용하는 경우 모든 데이터가 맞았거나, 틀렸거나 둘 중 하나만 체크 가능하여 매 testcase마다 출력을 진행해주어야 함
SSAFY 알고리즘 코드 배틀
2024-09-30 ~ 2024-10-04일 동안 SSAFY 12기 학생분들을 위하여 5문제를 출제하였었습니다.
각 문제들에 대해서 간단하게 이야기드리고자 합니다.
1번 문제는 비트연산 관련 그리디 문제로 출제하였었습니다.
분류 : 그리디
티어 : 브론즈
2번 문제는 HashSet이나 TreeSet에 대해서 알고 있으면 풀 수 있도록 구성하였습니다.
인사성 밝은 곰곰이를 풀어보신 분이라면 쉽게 풀 수 있을 거라고 예상하였습니다.
분류 : TreeMap
티어 : 실버
3번 문제는 2개 이상의 정렬 조건을 통하여 정렬할 수 있는지에 대해 알고 계시다면 풀 수 있도록 구성하였습니다.
분류 : 정렬
티어 : 실버
4번 문제는 문제에서 하라는 대로 주어진 조건들을 만족하여 풀 수 있도록 구성하였습니다.
분류 : 구현
티어 : 실버
5번 문제는 처음으로 데이크스트라를 활용해서 문제를 풀 수 있도록 구성하였습니다. 1->2로 갈 수 있는 사람과 2->1에서 갈 수 있는 사람 중 누가 먼저 갈 수 있는 지 구하는 데이크스트라 문제였습니다.
분류 : 데이크스트라
티어 : 골드
느낀점 : 지금까지 문제 출제를 진행하였던 백준 온라인 저지와는 다른 플랫폼에서 문제 출제를 진행하면서 색다른 재미를 느낄 수 있었습니다.
또한 처음으로 진행하였던 외부 대회였던 만큼 다양하고 색다른 경험을 해볼 수 있었던거 같습니다.