안녕하세요?

오늘은 OJ 추천 2탄을 해보려고 합니다.

사실 지난번 OJ 추천 글에 있었던 OJ들 외에도 다양한 OJ들이 있습니다.

다른 OJ(해외 OJ 포함)을 정리해 보도록 하겠습니다!^^

 

 

1. Codeforces(통칭 코포)

이 채점 사이트는 굉장히 유명합니다.

외국 사이트라 한글이 없는 것이 단점입니다.

그런데 번역한다고 무작정 구글번역기를 돌리면 문제를 못풉니다;;

러시아어 지원되니까 영어 못하면 러시아어로 푸세요

그래서 조금 이해가 느리더라도 영어로 읽고 풀어야 합니다.

어짜피 ICPC등의 큰 대회는 문제 지문이 영어로 주어지므로 지문이 영어던 한국어던 문제를 빨리 풀 수 있는 능력이 필요하고, 이 능력을 키우기에 적합한 사이트입니다.

사실 이 사이트의 묘미는 문제를 푸는 것이 아니라 대회에 참가하는 것입니다.

1주에 적어도 2~3번은 대회가 열리고, 일반인도 참가할 수 있습니다.

대회는 Div 1, Div 2, Div 3로 나누어지는데 가입 직후에는 Div 2, Div 3밖에 참가를 못합니다.

대회에서 좋은 성적을 내어 아이디 색깔이 보라색이 되면 Div 1도 참가 가능합니다.

www.codeforces.com

 

Codeforces

 

codeforces.com

링크타고 들어가 보세용

 

 

2. Atcoder

이 사이트도 위에 소개해드린 사이트와 마찬가지로 영어로 문제를 풀어야 합니다.

일본어도 지원됩니당

이 사이트도 codeforces와 마찬가지로 대회에 초점이 맞춰져 있습니다.

1주에 1번정도 대회가 열리고, 일반인도 참가할 수 있습니다.

대회는 Atcoder Begginer contest, Atcoder Regular contest, Atcoder Grand contest 3개로 나뉩니다.(통칭 ABC, ARC, AGC 라고 부릅니다.)

ABC는 굉장히 쉽고, ARC는 코포 Div 2보다 약간 어렵고, AGC는 코포 Div 1보다 약간 쉬운 난이도를 가지고 있습니다.

그래봤자 저는 ABC문제도 다 못풉니다

www.atcoder.com

이 사이트입니다

 

 

3. Project Euler

신개념 코딩 사이트

이 사이트는 다른 사이트들과 굉장히 많이 다릅니다.

수학 문제가 주어지고, 굉장히 큰 수에 대한 답(노가다가 불가능한 정도)을 찾는 문제입니다.

이를 프로그래밍을 이용해서 답을 찾아내는 문제인데, 코드를 제출하는 것이 아닌 답을 써서 제출하는 방식입니다.

그런데 몇몇 문제는 걍 수식으로 풀려서(...) 계산 잠깐 하고 답 내서 맞는 경우도 있습니다.

한국 사이트와 영어 사이트가 있는데, 한국 사이트는 번역이 잘 되어있는 반면에 문제 수가 적고, 스코어보드가 없습니다.(저는 한국 사이트에서 활동중)

euler.synap.co.kr (한국사이트)

projecteuler.net (외국사이트)

 

 

4. Dovelet

요즘은 잘 쓰이지 않는(?) 사이트 같습니다.

일단 딱 사이트에 들어가자마자 느끼실텐데, 오래된 티가 팍팍 나고, 인터페이스가 (저한테는) 좀 불편합니다.

문제는 괜찮은 편인데, 돈을 내야 합니다.

무조건 돈을 내야 하는건 아니고, 1~30계단과 옥상 중 처음에는 준회원으로 1~3계단과 옥상의 문제만 풀 수 있습니다.

돈을 내면 정회원이 되어 4~30계단의 문제를 풀 수 있습니다.

돈을 내지 않고 4~30계단의 문제를 풀려면 엄청 문제를 많이 풀어서 전체순위 30등 이내로 들어가 쭈~욱 회원이 되는 방법이 있습니다.

www.dovelet.com

 

http://www.dovelet.com

 

www.dovelet.com

 

5. Algospot

최근에 알게 된 사이트입니다.

이 사이트의 커다란 특징으로는, 130문제만 풀어도 순위판 1페이지 진출입니다.

당연하게도, 쉬운 문제는(제 기준) 풀어본 결과 7개밖에 없습니다.(...)

www.algospot.com

 

algospot.com :: 알고스팟에 오신 것을 환영합니다!

 

www.algospot.com

 

 

여기까지입니다.

감사합니다!^^

 

'C언어 공부' 카테고리의 다른 글

중첩 for문  (0) 2020.11.26
OJ 추천  (1) 2020.03.28
C 언어 연습 IDE 추천  (4) 2020.03.27
배열  (1) 2020.03.26
반복문  (0) 2020.03.26

오랜만에 C언어 강의글을 올리는 것 같다.

오늘은 예~전에 예고했던 대로 중첩 for문에 대해서 배워 보려고 한다.

 

중첩 for문이란?

 

중첩의 사전적 의미는 거듭 겹치거나 겹쳐지는 것이다.

따라서 중첩 for문은 계속 겹쳐서 for문을 작성하는 것을 말한다.

아래 코드를 보자.

 

#include <stdio.h>
int main(){    
    int a=0,i,j;
    for(i=0;i<10;i++)
    {
        for(j=0;j<10;j++)
        {
            a++;
        }
    }
    printf(“%d\n”,&a);
    return 0;
}

 

이 코드를 실행시키면 출력값은 얼마일까?

이 코드에서 0부터 9까지 반복되는 for문이 2번 겹쳐져 있다.

그러면 i=0, j=0부터 i=9, j=9까지 반복이 되므로 총 반복 횟수는 100번이다.

따라서 실행값은 100이 된다.

 

이렇게 중첩 for문을 이용하면 10번을 반복하는 for문을 10번 쓸 필요 없이 2개의 for문만으로도 충분히 a0에서 100까지 증가시킬 수 있다.

 

그런데 혹자는 이렇게 물어볼 수도 있을 것이다.

‘for문 안에서 i0에서 100까지 돌리면 for1개로도 되지 않나요?’

이 코드에서는 그렇긴 하다.

하지만 문제를 풀다 보면 무조건 for2개가 필요한 문제가 있을 것이다.

그 문제들은 바로 별 찍기문제들이다.

코드업의 1352번 문제부터 1371번 문제까지 풀어보면 좋을 것 같다.

그럼 이렇게 강의를 마치겠다.

 

빠이~~

'C언어 공부' 카테고리의 다른 글

OJ 추천 (2)  (3) 2020.11.27
OJ 추천  (1) 2020.03.28
C 언어 연습 IDE 추천  (4) 2020.03.27
배열  (1) 2020.03.26
반복문  (0) 2020.03.26

지난번에 IDE를 추천해 드린 이후 오늘은 문제를 풀 수 있는 사이트인 OJ를 추천해 드리겠습니다!!
OJ는 Online Judge의 약자로 채점을 해 주는 사이트라고 생각하시면 됩니다.

이미 저지 사이트에서 문제를 풀고 계실 것이지만(이 아니라 그렇다고 희망하지만...) 한 가지 사이트 말고 두세 가지 사이트에 계정을 만들어 푸는 것이 실력 향상에 도움이 될 것이라는 생각에 추천드립니다!

 

1. 코드업(CODEUP)

 

이 사이트는 개인적으로 제가 가장 좋아하는 사이트입니다.

문제가 체계적으로 정리되어 있고, 채점 속도도 뒤에 설명드릴 OJ들보다 빠른 것 같습니다.

 

https://codeup.kr/index.php

 

CodeUp

☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks       DEV C++ ☆ 추천 온라인 IDE : C++11   Python3   Java ☆ 채점 가능 언어 : C, C++, JAVA, Python 3.5 ★ C++로 제출시 void main()을 사용하면 컴파일 오류! → int main() 또는 main() ★ 정답외에 불필요한 출력은 잘못된 풀이!  예) "입력", "출력", "정답은 ~입니다." → 오답 처리 

codeup.kr

사이트입니다!!

 

 

2. 백준(BAEKJOON)

 

위에서 말씀드린 코드업은 개인이 운영하는 사이트라 문제가 엄청 많지는 않습니다.

하지만 이 사이트는 스타트 링크라는 엄연한 기업이 운영하고 있어서 문제 번화가 10000번을 넘어갑니다.

(그래서 처음 풀 때 뇌정지가 오죠 ㅋㅋ)

 

문제 수가 많다 보니 순위판 안에 들어가는게 매우 힘듭니다 ㅠ

 

https://www.acmicpc.net/

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

사이트입니다!!

 

 

3. KOISTUDY

 

이 사이트는 코드업과 매우 깊은 연관이 있다고 전해지는 사이트입니다.

(저도 왜인지는 모르겠습니다.)

근데 사이트가 좀 오래된 티가 팍팍 납니다(저만 그런가요..)

그리고 채점할 때 시간이 좀 오래 걸리는 편이라 많이 선호하진 않습니다만 문제는 계속 열심히 풀고 있네요.

(백준보다 순위판에 오르기가 훨씬 쉬워서 열심히 풀고 있다는 여담이...)

 

http://www.koistudy.net/

 

KOISTUDY

2019.03.14. [필독] 초중고 학교 수업용 단체가입은?                   - 마찬가지로, 현직 고등학교 정보 선생님이 운영하고 계시는 코드업(codeup.kr) 을 추천합니다. 2019.03.14. [필독] 개인가입시 주의사항!                   - 본 사이트는 비영리(주로 초중고등학교 정보 교과 수업/관련활동) 목적의 활용과 개인적 자기주도 학습을 위해                      공개 운영되고 있습니다.  

www.koistudy.net

사이트입니다!!

 

4. JUDGEON

 

저도 여기서는 문제를 풀어 본 적이 없어서 잘 모르는 OJ입니다.

사이트 주소만 올릴게요~

 

http://www.judgeon.net/

 

Judgeon

Computer Science is no more about computers than astronomy is about telescopes -  Edsger Dijkstra  *. 서버가 80%정도 복구됨. 재귀,함수문제는 아직 풀수 없습니다. 계속 작업중 *. 추천 통합개발환경( codeblocks : 설치후 실행방법(클릭) )  Codeblocks (다운)  , 참고자료(다운) *. 웹 통합개발환경(WebIDE) (TutorialsPoint, ide

www.judgeon.net

 

 

 

글을 읽어주셔서 감사합니다!!

코딩 공부 열심히 하세요~!

'C언어 공부' 카테고리의 다른 글

OJ 추천 (2)  (3) 2020.11.27
중첩 for문  (0) 2020.11.26
C 언어 연습 IDE 추천  (4) 2020.03.27
배열  (1) 2020.03.26
반복문  (0) 2020.03.26

안녕하세요?

지금 까지 저의 강의를 잘 봐 오시고, 문제도 충분히 풀어 보셨다면 이제 상당한 수의 문제를 풀 수 있게 되었을 것입니다.

하지만 자신의 코드를 시험해 보거나 디버깅을 하기에는 자신의 머리로는 역부족인 경우가 상당하죠.

이럴 때를 대비하기 위해서 오늘은 제가 코드를 실행해 볼 수 있는 대표 IDE 들을 추천해 드리겠습니다!!^&^

 

1. 코드블록(Codeblocks)

 

이 IDE는 무료이고, 디버깅을 자동으로 해주지는 않지만 았어야 하는 기능은 다 있어서 편한 IDE 입니다.

여러분이 생각하는 모든 기본적인 기능은 다 제공해 줍니다.

또, 용량도 많이 안 잡아먹어서 좋습니다.(개인적으로 생각하는 최대 장점입니다.)

저는 이 IDE를 가장 많이 쓰고, 부가적으로 긴 코드를 작성할 때는 디버깅을 편하게 하기 위해서 비주얼 스투디오 라는 

나중에 설명해 드릴 IDE를 쓰고 있습니다.

 

(다운로드)

 

http://www.codeblocks.org/downloads

 

Downloads

There are different ways to download and install Code::Blocks on your computer: This is the easy way for installing Code::Blocks. Download the setup file, run it on your computer and Code::Blocks will be installed, ready for you to work with it. Can't get

www.codeblocks.org

여기 들어가서 다운로드 해주시면 됩니다.

 

(공식 사이트)

 

http://www.codeblocks.org/

 

Code::Blocks

The open source, cross platform, free C, C++ and Fortran IDE. Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. Finally, an IDE with all the featu

www.codeblocks.org

코드블록 공식 사이트 입니다.

 

 

2. DEV C++

 

흔히 데브 라고 불리는 IDE입니다.

개인적으로는 추천하지 않습니다만, 사용자들이 많긴 해서 간단히 소개해 드립니다.

업데이트가 2013년에 끊겼습니다.(오래된 티가 많이 납니다)

 

(다운로드)

 

https://sourceforge.net/projects/orwelldevcpp/

 

Dev-C++

Download Dev-C++ for free. A free, portable, fast and simple C/C++ IDE. A new and improved fork of Bloodshed Dev-C++

sourceforge.net

여기서 다운로드 해주세요.

 

 

3. Visual Studio

 

이 IDE는 실용성과 능력 면에서는 가장 우수한 IDE 입니다.

(microsoft가 만들었기 때문이죠 ㅋㅋ)

디버깅도 자동으로 해주고, 정말 완벽합니다.

그런데!!

용량을 겁나게 많이 잡아먹습니다.

 

제공해 주는 모든 기능을 다운받으려면 100기가바이트가 필요하고, 기업에게는 유료입니다.

걍 기본적인거만 다운받는게 최고입니다.

부가적인 기능은 코딩으로 엄청난 웹 게임이나 프로젝트를 만들지 않는 이상 필요도 없어요.

 

(공식 홈페이지)

 

https://visualstudio.microsoft.com/ko/

 

Visual Studio IDE, 코드 편집기, Azure DevOps 및 App Center - Visual Studio

Visual Studio 개발자 도구 및 서비스로 모든 플랫폼에서 어떤 언어로든 앱 개발을 쉽게 할 수 있습니다. Mac 및 Windows 코드 편집기, IDE 또는 Azure DevOps를 체험해 보세요.

visualstudio.microsoft.com

 

(다운로드)

 

https://visualstudio.microsoft.com/ko/downloads/

 

Windows 및 Mac용 Visual Studio 2019 다운로드

Visual Studio Community, Professional 및 Enterprise를 다운로드하세요. 지금 Visual Studio IDE, Code 또는 Mac을 무료로 사용해 보세요.

visualstudio.microsoft.com

 

 

여기까지 입니다.

 

 

그리고!!!

 

여러분이 코딩 공부를 밖에서도, 컴퓨터가 없어도 할 수 있도록 온라인 IDE 사이트 몇개 준비했습니다.

(참고로 이 사이트들은 C언어 말고도 수십개의 언어를 더 지원합니다. 저도 C언어 강의를 마치고, 다른 언어 강의를 쓸 예정이니 기대해 주세요!!ㅎ)

 

https://www.onlinegdb.com/online_c_compiler

 

Online C Compiler - online editor

OnlineGDB is online IDE with c compiler. Quick and easy way to compile c program online. It supports gcc compiler for c.

www.onlinegdb.com

온라인 C 컴파일러 입니다.

 

https://www.tutorialspoint.com/compile_c_online.php

 

Online C Compiler - Online C Editor - Online C IDE - C Coding Online - Practice C Online - Execute C Online - Compile C Online -

 

www.tutorialspoint.com

얘도 비슷한거

 

https://ideone.com/

 

Ideone.com

Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

ideone.com

개인적으로 생각하는 최고의 온라인 컴파일러 입니다.

 

 

 

 

여기까지 입니다.

코딩 공부 열심히 하세요!!

'C언어 공부' 카테고리의 다른 글

중첩 for문  (0) 2020.11.26
OJ 추천  (1) 2020.03.28
배열  (1) 2020.03.26
반복문  (0) 2020.03.26
숏코딩(2)(중급)  (3) 2020.03.05

안녕하세요? 

오늘은 배열에 관하여 알아보도록 하겠습니다.

배열이 무엇일까요?(배열이 배열이지 뭐긴 뭐야)

배열은 값을 저장해 두는 장소라고 생각할 수 있습니다.

 

배열을 잘 설명해 주는 그림입니다.(출처 : C언어 코딩 도장)

 

이 그림에서 numArr이라는 이름의 저장 공간을 생성했습니다.

그리고 그 저장 공간 10개에 11의 배수 10개를 집어 넣은 것이죠.(중괄호를 사용해 집어 넣을 수 있습니다)

-->a[2] = {1,2} 이렇게요^^

 

이렇게 저장된 수들은 코드가 끝날 때까지 저장되어 있기 때문에 언제든지 꺼내어 쓸 수 있습니다.

어떻게 꺼내어 쓸까요?

꺼내어 쓰는데 필요한 도구가 있는데요, 바로 반복문입니다.

저는 for문을 사용하겠습니다.

 

for문을 이용해서 i를 0부터(배열은 첫칸이 0이기 때문에 항상 0부터 돌려야 합니다) 돌려가며 그 값을 출력하면 됩니다.

 

<예제>

 

#include <stdio.h>

int main()

{

    int a[5] = {1,2,3,4,5};

    int i;

    for(i=0;i<5;i++)

    {

        printf("%d",a[i]);

    }

    return 0;

}

 

위에서 말한 내용을 그대로 코드로 옮겨 보았습니다.

아시겠죠?

 

이제 2차원 배열에 관하여 알아 보겠습니다.

2차원 배열은 배열을 2차원으로 구현한 것입니다.

그러니까 우리는 지금까지 한 '줄'에 정보를 저장해 놓았다면

이제 우리는 한 '평면'에 정보를 저장할 것입니다.

그 방법은...!

 

배열을 선언할 때 대괄호를 2개 넣는 것입니다.

 

예) int a[100][100] = {0};

 

이렇게 하면 배열이 2차원으로 선언이 되고, 여러 줄에 정보를 따로 저장할 수 있게 됩니다.

이 2차원 배열을 왜 알려주냐? 하시면 중첩 for를 배울 것이기 때문입니다.

기대하시고...

미리 예고하자면 콘솔창에다가 그림을 왕창 그릴 것입니다 ㅎㅎ

 

 

빠이~~

 

'C언어 공부' 카테고리의 다른 글

OJ 추천  (1) 2020.03.28
C 언어 연습 IDE 추천  (4) 2020.03.27
반복문  (0) 2020.03.26
숏코딩(2)(중급)  (3) 2020.03.05
숏코딩(코드로 골프하기)(입문,기초)  (2) 2020.03.02

+ Recent posts