해커랭크 소개
in Programming on SQL - HackerRank
올해부터는 꾸준히 해커랭크(HackerRank)라는 온라인 코딩 문제풀이 사이트를 통해 공부를 하려고 한다.
해커랭크(HackerRank)에 대한 설명은 아래와 같다.
(출처: 해커랭크 위키백과)
여러 프로그래밍 언어(Python, SQL, etc.)로 주어진 문제들을 풀면서 점수(Hackos)도 쌓고 프로그래밍 실력을 키울 수 있는 좋은 사이트이다. 또한 문제가 영어로 되어있어서 영어 독해 실력도 늘릴 겸 좋은 것 같다.
🔮 해커랭크를 시작하게 된 이유
업무를 진행하다 보면 사용하는 언어만 계속 사용하고 그 또한 정해진 틀 속에서 진행하다 보니 작년 하반기부터 코드 몽키가 되어 간다는 불안감(아쉽지만 그렇다고 코딩을 크게 잘하지도 않는다..)에 휩싸였다.
출근 전이나 퇴근 후에 간단하게라도 손가락을 움직여보고자 코딩 테스트 사이트를 찾았고 여러 개 고민하다가 해커랭크로 결정!
작년 얼마 되지 않은 짧은 업무 기간 동안 그 무엇보다 데이터 전처리의 필요성을 뼈저리게 느꼈기에, 일단 SQL과 관련된 문제들을 먼저 풀려고 한다.
현재 제일 쉬운 BASIC SELECT 부분만 하였는데 아직까지 제일 쉬운 파트라서 그런지 ‘와! 재밌어! 계속하고 싶어!’와 같은 문제 풀었을 때 느끼는 성취감이 상당하다.
매일 1~2문제씩은 무조건 풀려고 하며, 올해 상반기는 SQL과 알고리즘 파트를 보려고 한다.
나는 알고리즘에 무척이나 취약하다고 생각하기에, 이번 시간을 통해 논리적으로 생각하면서 문제를 푸는 시각을 키우고 싶다. 그러니 연습하자 꾸준히!
🔮 해커랭크에 대한 간단한 소개
1. 메인 화면
해커랭크의 메인 화면은 아래와 같다.
2. 가입 또는 로그인
For Developers의 [Sign Up & Code] 부분을 클릭하면 따로 가입할 필요 없이 아래의 4가지 계정이 있다면 바로 로그인을 진행할 수 있다.
- 페이스북
- 구글
- 링크드인
- Git hub
3. Dashboard
로그인을 하게 되면 아래와 같이 Dashboard가 뜨면서, 현재 내가 참여하고 있는 챌린지에 대한 진행률을 보여준다.
4. Skills Available For Practice
더 아래로 스크롤을 내려보면 해커랭크에서 제공하는 Skills Available For Practice 리스트가 있다. Algorithms, Data Structures, 그리고 다양한 언어(C, Python, Ruby, etc.)를 연습할 수 있게끔 되어있다.
5. Practice
현재 내가 풀고 있는 SQL을 클릭하면 아래의 화면이 뜨게 된다.
문제를 이미 푼 경우에는 [Solved]가 뜨고 아직 도전하지 못한 문제는 [Solve Challenge]가 뜨게 된다. 또한 좌측에는 여러 필터 기능들이 있다.
- STATUS : 문제 도전 여부(Solved/Solve Challenge)
- DIFFICULTY : 문제의 난이도(Easy/Medium/Hard)
- SUBDOMAINS : 하위 도메인(Basic Select/Advanced Select/…)
SUBDOMIANS의 경우 SQL 내 문제들을 각 하위 도메인에 맞게 분류되어 있다. 예를 들어 join 부분을 더 익히고 싶다면 Basic Join이나 Advanced Join을 선택하여 문제를 풀면 된다.
6. Solve Challenge
Solve Challenge를 누르면 아래와 같이 뜨며, Current Buffer에 답안을 기입하고 [Submit Code]를 클릭하여 답안을 제출하면 된다. 물론 그 전에 [Run Code]를 통해 코드가 무사히 돌아가는지 확인할 수도 있다.
- Problem : 해당 문제 내용과 데이터 Input Format 설명
- Current Buffer : 답안 쓰는 공간
이것 외에도 [내 계정>Hackos]를 클릭하면 나의 전체 점수(Hackos)와 내가 풀었던 문제와 그에 해당하는 점수를 확인할 수 있고, [내 계정>Profile>Submissions]에서 git처럼 커밋 잔디를 심어서 문제를 푼 날짜와 횟수를 확인할 수 있다.
매일 초록 잔디를 심을 수 있길!🌱