Dart 문제를 풀어보고 싶은데 유명한 백준도 다트를 다루지 않고 유튜브에도 별로 없었다.ㅜㅜ
구글에 영어로 쳐보니 다행히 exercism이라는 영어 사이트가 나왔는데 여기에 Dart 문제들이 꽤 있었다!!
https://exercism.org/tracks/dart

사이트도 너무 잘되어 있고 가장 신기했던건 문제 풀이와 제출 방법이었다. 터미널 명령어로 로컬에 문제를 직접 다운로드 받고 다시 제출하는 방식이다. 내가 편하게 쓰는 IDE를 활용할 수 있으니 더 편했다.
온라인으로 문제풀이도 물론 가능한데, 다트는 오프라인만 가능했다.
그 방법이 조금 헷갈리긴 했는데 아래 순서대로 진행하면 된다.
1) brew를 이용해 exercism을 설치하기
터미널에 순서대로 입력해준다.
brew update brew install exercism
2) 토큰 등록하기
아래 이미지처럼 내 프로필 옆 더보기 아이콘을 누르면 settings가 있다. settings에 들어가서 API/CLI를 누르면 내 토큰을 확인할 수 있다.
그리고 token을 등록해준다. **{}는 빼고 입력exercism configure --token={토큰 넣어주기}

3) 문제 다운로드 받기
위에 설명했듯이 문제는 오프라인에서만 풀 수 있다. 아래 명령어를 치고 문제를 다운로드 받는다.
exercism download --track=dart --exercise=hello-world
터미널에서 다운로드한 경로를 알려주니 그 경로대로 이동해서 확인하면 된다. 나는 vscode를 주로 사용하기 때문에 vscode에서 다운로드 받은 폴더를 열었다. 그럼 이렇게 문제가 열린다!

4) 문제풀기
동영상 설명에서도 나와있듯이 굳이 예제로 주어진걸 다 지우고 하려고 하지 말고, 바꿔야 하는 부분만 바꿔서 제출하면 된다. hello world를 출력하는 문제이니 예제 속 "Goodbye, Mars!"만 "Hello, World!"로 바꿔서 제출한다.
*참고로 나는 test 폴더 하위 hello_world_test.dart가 import 문제인지 에러가 떠서 그냥 다 주석처리 하고 제출했다.
5) 문제 제출하기
에디터 내의 터미널에 아래와 같이 명령어를 입력했더니 All tests passed! 라고 뜨면서 내 문제풀이 결과를 알려주었다. (너무 신기..)
마지막으로 명령어를 넣어 문제를 제출한다.exercism submit lib/hello_world.dart

exercism에 다시 들어가보면 화면이 새로고침 되면서 "Exercise Solved"로 바뀐 걸 확인할 수 있다.

다른 문제도 같은 방법으로 문제를 다운로드 받고 제출하면 된다.