logo
Search검색어를 포함하는 게시물들이 최신순으로 표시됩니다.
    Table of Contents
    [Research] 개발환경

    이미지 보기

    [Research] 개발환경

    • 21.07.21 작성

    • 22.01.31 수정

    • 읽는 데 7

    TOC

    1. 생략


    2. 온라인 저지(OJ; Online Judge) 안내

    2.1. 해외 온라인 저지


    2.2. 국내 온라인 저지


    3. 온라인 저지 상세

    3.1. 코드업

    • 난이도가 낮은 문제가 많아 처음 공부하는 사람에게 적합
    • 문제 순서가 난이도 순서와 대체로 비례
    • 알고리즘을 잘 모르거나 이제 막 문제 풀이를 시작한다면, 코드업 사이트의 [문제] - [문제집]에서 [기초 100제]를 꼭 풀어보자. 알고리즘 문제 풀이에서 자주 사용하는 기본 코드 유형과 관련된 문제이다.
    • 코드업에서 간단한 문제 위주로 200문제 가량 푼 뒤 백준 온라인 저지로 넘어가도록 한다.

    3.2. 백준 온라인 저지(BOJ)

    • 국내에서 가장 유명한 알고리즘 문제 풀이 사이트
    • 전형적인 코딩 테스트 형식(ACM-ICPC 형식)
    • 문제 순서는 난이도와 무관
    • 크롬에서 solved.ac 확장 프로그램을 설치하면 백준 온라인 저지 문제에 대한 난이도 정보를 확인할 수 있다.
    • 유형별 알고리즘을 선택하여 풀 수 있다는 장점([문제]-[알고리즘 분류])
    • 삼성 SW 역량테스트 대비 문제집 제공

    3.3. 프로그래머스

    • 2017년부터 카카오 공채 문제를 모두 제공
    • 본인이 해당 문제를 풀지 못해도 다른 사람의 풀이 코드를 열람할 수 있다. (알고리즘 점수 차감)

    3.4. SW Expert Academy

    • 삼성에서 공식적으로 제공하고 있는 알고리즘 학습 사이트
    • 삼성전자의 경우 DFS/BFS를 활용해야 하는 탐색과 시뮬레이션 문제 유형 자주 출제

    4. 코딩테스트에 유리한 언어

    4.1. 파이썬

    • 초보자가 접근하기 쉬운 언어
    • 쉬우면서도 활용도가 높아 기업이나 대학원, 연구소에서도 많이 사용
    • 풍부한 라이브러리로 다양한 분야에서 많이 활용
    • 인공지능 분야에서도 널리 활용
    • 큰 숫자, 리스트, 문자열을 처리하는 데 있어서 매우 편리한 기능을 기본적으로 내장

    4.2. C/C++

    • 실행 시간이 짧고 하드웨어에 더 가까운 언어이기 때문에 더 빠르게 동작
    • 삼성전자는 SW 역량테스트 B형부터는 파이썬 배제
    • 삼성 SW 역량테스트 B/C형은 C++의 필수 라이브러리를 제외한 대부분의 표준 라이브러리를 사용할 수 없어 기본 자료구조 모듈을 모두 직접 작성해야 한다.

    4.3. 프로그램 개발 방식

    • API 개발
    • GUI 프로그램 개발
    • 해커톤 등

    설문조사 결과 파이썬이 36%의 높은 비중으로 1위를 차지했다. 20%의 자바, 8%의 자바스크립트가 뒤를 잇는다.

    • 파이썬을 기본 언어로 선택하여 공부한다면 상대적으로 수월하게 다양한 문제 상황에 대응하여 문제를 풀 수 있다.
    • 카카오는 특정 서버와 데이터를 주고받으며 통신하는 방식의 문제를 꾸준히 출제하고 잇는데, 이러한 통신 모듈을 작성하는 것도 C++이나 자바에 비해서 사용할 라이브러리나 코드의 수가 훨씬 적다.
    • 최근 코딩테스트의 출제 경향은 파이썬 사용자들에게 유리한 경우가 매우 많다.

    5. 실습 환경 구축

    • 온라인 코딩 테스트는 주로 웹 브라우저에서 소스코드를 작성하여 제출
    • 이왕이면 같은 환경에서 연습하는 것이 좋으니, 온라인 IDE를 사용하자.

    5.1. 리플릿


    5.2. 파이썬 튜터

    • http://pythontutor.com/visualize.html
    • 개인에게 꼭 맞는 튜터와 같은 기능을 제공하는 온라인 IDE 서비스
    • [Visualize Execution] 버튼을 누르면 소스코드를 단계별로 실행 가능
    • 프로그램의 동작을 함께 보고자 할 때 도움

    5.3. 온라인 GDB

    • https://www.onlinegdb.com
    • 디버깅 기능을 제공하는 사이트
    • 보통은 C/C++ 사용자가 많이 이용하는 편
    • 앞선 두 사이트가 제대로 동작하지 않을 때 사용

    REFERENCES

    • 이것이 취업을 위한 코딩테스트다 with 파이썬, 나동빈, 한빛미디어
    profile

    FE Developer 박승훈

    노력하는 자는 즐기는 자를 이길 수 없다