일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Eliminate Maximum Number of Monsters
- PCCP
- 백준
- 소셜 광고
- 332
- Java
- 847
- Number of Flowers in Full Bloom
- 표편집
- DFS
- 알고리즘
- 미로 탈출 명령어
- 2251
- 주사위고르기
- 백트래킹
- 리트코드
- BFS
- SW아카데미
- 프로그래머스
- n+1카드게임
- 양궁대회
- leetcode
- reconstruct itinerary
- Shortest Path Visiting All Nodes
- 주사위 고르기
- Heap
- 구현
- 셔틀버스
- 카드 짝 맞추기
- 자바
- Today
- Total
알고리즘이 재미있다
알고리즘 사이트 추천 본문
매일 알고리즘을 풀지만 최근에는 알고리즘에 대한 블로깅을 조금 소홀히 하였다.
어느 순간 취미활동인 느낌이 들기도 하였다.
아직도 많이 부족하지만 나름 많은 문제를 풀고, 옛날 생각도 나서 알고리즘 사이트에 대한 나의 생각을 적어보면 재미있겠다는 생각이 들어서 작성하게 되었다.
모든 내용은 온전히 개인적인 의견이며, 단순히 재미용으로 봐도 무방하다.
백준
아마 제일 유명하다고 생각한다.
굳이 설명 안 해도 모두 다 알 것이다.
대부분의 사람들이 처음 알고리즘 문제를 접하는 곳이 아마 백준이라고 생각한다.
나 역시도 백준으로 처음 알고리즘을 입문하였다.
개인적으로 단계별로 풀어보기를 추천한다.
처음 유형별로 개념을 익히는데 매우 도움이 많이 되었다.
다만 개인적으로 모든 입력과 출력을 표현해야 하고 문제가 매우 많다 보니 본질적인 알고리즘이 아닌 문제를 해석하는데 시간을 더 쓰게 되는 상황이 생기는 문제도 많이 있었다.
현재 나는 플레까지 찍고 이후에는 다른 사이트를 이용하고 있다.
사실 플레 이상의 문제부터는 매우 복잡한 알고리즘인 경우가 많다.
나중에 시간적 여유가 많거나, 취업하면 취미생활로 도전해 볼 생각이다.
총평
코딩 초반에 개념을 익히기 매우 좋은 사이트이다.
뿐만 아니라 매우 좋은 문제들이 많이 있다.
다만 개인적으로 안 좋다고 생각하는 문제들도 많이 있다.
또한 나중에는 입출력을 구현하는 게 귀찮아지기도 한다.
프로그래머스
코테를 종종 본 적이 있다면 매우 익숙한 사이트 중 하나이다.
개인적으로 백준 다음으로 유명하다는 생각을 한다.
나 역시 백준을 처음 접한 뒤에 친구의 추천으로 처음 시작했는데, 거의 대부분의 문제들이 좋다.
다만 유형별로 정리되어있지 않아서 유형별로 풀고 싶은 사람에게는 조금은 비추이다.
개인적으로 프로그래머스의 코딩테스트 고득점 Kit가 매우 좋다고 생각한다.
유형별로 대표적인 문제들이 모아져 있다.(수는 매우 적음)
프로그래머스의 좋은 문제퀄리티에 한때 프로그래머스만 푼 적도 있었다.
덕분에 나름 높은 랭킹까지 올라왔다.(23.10.6 기준... 안풀면 조금씩 순위가 밀린다.)
다만 현재는 조금은 잘 안 풀게 된다.
이유는 거의 대부분 풀어서 남은 문제들이 너무 어렵기도 하고, 최근에는 다른 사이트에 재미를 붙였기 때문이다.
총평
기업 코테의 문제도 많이 있고, 그냥 전체적으로 문제의 퀄이 다 좋다.
다만 문제의 수가 백준에 비한다면 상당히 적다. (그래도 다 푸는 것은 매우 어렵겠지만)
또한 고득점 키트를 빼면 유형별로 풀기 어렵다.
메서드만 완성시키면 되기에 입출력의 귀찮음이 적다.
예전에 SQL을 익힐 때도 매우 애용했다.
매우 강추하는 사이트이다.
라트코드
나름 최근에 알게 된 사이트이다.
매일 데일리 미션이 나와서 어떤 걸 풀지에 대한 고민을 쉽게 해결해 주기도 한다.
다만 내용이 전부 영어로 되어있다.
그럼에도 이 사이트를 최근에 애용하고 있다.
그 이유는 문제가 단순하지만 어렵고 재미있다.
보통 다른 사이트는 설명이 매우 길고 이를 해석하는데 오래 걸린다. 뿐만 아니라 놓친 부분이 있다면 바로 예외가 발생한다.
그에 비해 리트코드는 문제가 매우 단순하다.
그렇다고 쉽지 않고, 논리적 사고를 충분히 요구하는 문제들이 많다.
아마 이 부분이 호불호가 많이 갈리겠지만, 나는 좋은 문제란 설명은 간단하지만, 충분한 논리적 사고가 필요한 문제라고 생각한다.
이러한 매력 때문에 최근에는 거의 리트 코드만 풀고 있다.
재미있는 일화로 예전에 문제를 풀다가 문제의 반례를 발견하고 이를 문의한 적이 있었다.
총평
모든 것이 영어라는 단점이 존재하지만, 그럼에도 꾸준히 푸는 데는 이유가 있다.
그냥 문제가 담백하고 좋다.
지금 현재 내가 가장 좋아하는 사이트이다.
하지만 알고리즘을 처음 접한다면 조금은 비추이다.
SW 아카데미
https://swexpertacademy.com/main/main.do
예전에 겨울 방학에 삼성전자 DX 동계 대학생 알고리즘 특강을 통해 처음 접한 사이트이다.
사실 이곳을 이용한 지 오래되어 판단이 정확하지는 않지만 매우 어려웠던 기억이 있다.
특히 구현문제가 많이 있었는데, 구현에 시간복잡도까지 생각해야 하는 문제가 많기에 더욱 어려웠다.
그럼에도 구현문제를 좋아해서 나름 재미있게 풀었던 기억이 있다.
총평
대부분의 문제가 어려웠던 기억이 있다.(내가 어려운 것만 풀은 건가..)
내 기억에 많은 사람들이 수료를 하지 못한 것으로 기억한다.
구현문제가 매우 많아서 평소 구현문제를 좋아한다면 한 번은 풀어보는 것을 추천한다.
마지막 기억이 당시 수료를 하기 위해 풀어야 하는 문제 중에 세그먼트 트리가 있었다.
이때 이게 무슨 알고리즘인 줄도 모르고 삽질을 엄청하고 공부했던 추억이 있다.