오랜만에 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

 

problem number. 1012

 

모범소스)

 

#include<stdio.h>

int main()
{
	float x;
	scanf("%f", &x);
	printf("%f", x);
	return 0;
}

 

모범소스 2)

 

#include<stdio.h>

int main()
{
	double x;
	scanf("%lf", &x);
	printf("%lf", x);
	return 0;
}

 

숏코딩)

 

main(float x){scanf("%f",&x);printf("%f",x);}

 

한 줄 평가 : 쉬운 문제입니다. 숏코딩도 쉽습니다.

 

problem number. 1013

 

 

모범소스)

 

#include<stdio.h>

int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d %d", a, b);
    return 0;
}

 

숏코딩)

 

main(a,b){scanf("%d%d",&a,&b);printf("%d %d",a,b);}

 

한 줄 평가 : 쉬운 문제입니다. 숏코딩도 쉽습니다.

 

 

problem number. 1014

 

모범소스)

 

#include <stdio.h>

int main()
{
    char a,b;
    scanf("%c %c", &a, &b);
    printf("%c %c", b, a);
    return 0;
}

 

숏코딩)

 

main(){char a,b;scanf("%c %c",&a,&b);printf("%c %c",b,a);}

 

한 줄 평가 : 매우 쉬운 문제이다. 숏코딩은 더 할 수 있는데 걍 귀찮아서 조금만 했다.

+) 숏코딩 더 하는 방법 궁금한 분들은 댓글 남겨 주세요. 코드업에서 쪽지를 보내 드리던지 알아서 답해 드리겠습니다.

'코드업 답안&숏코딩' 카테고리의 다른 글

1008번~1011번  (0) 2020.03.28
1004~1007번  (0) 2020.03.27
1001번~1003번  (0) 2020.03.27

지난번에 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

problem number. 1008

 

모범소스가 없어서 모범소스 같이 생긴 소스를 올립니다.(이런 소스를 앞으로 그냥 '코드'라고 해서 올릴께요^^)

 

코드)

 

#include<stdio.h>
int main() {
	printf("\u250C\u252C\u2510\n");
	printf("\u251C\u253C\u2524\n");
	printf("\u2514\u2534\u2518");
	return 0;
}

 

숏코딩)

 

main(){puts("\u250C\u252C\u2510\n\u251C\u253C\u2524\n\u2514\u2534\u2518");}

 

한 줄 평가 : 유니코드를 출력해야 해서 유니코드가 무엇인지 모를 경우 풀지 못할 수 있다. 일단 코드를 알면 숏코딩은 쉽다.

 

 

problem number. 1010

 

모범소스)

 

#include <stdio.h>

int main()
{

    int n;  //정수(integer) 값을 저장할 수 있도록 n 이라는 이름의 변수 준비
    scanf("%d", &n);  //키보드로 입력되는 값을 10진수(decimal)로 읽어 변수 n에 저장
    printf("%d",n);  //변수 n에 저장되어있는 값을 10진수(%d)로 출력

}

 

숏코딩)

 

main(n){scanf("%d",&n);printf("%d",n);}

 

한 줄 평가 : 쉬운 입출력 문제이다. 숏코딩은 한줄로 만들고 변수를 함수로 받아주면 끝~~

 

 

problem number. 1011

 

모범소스)

 

#include <stdio.h>

int main()

{

    char x; //문자(character)를 저장할 수 있도록 x 라는 이름의 변수 준비

    scanf("%c", &x); //키보드로 입력되는 값을 문자(character)로 읽어 변수 x에 저장

    printf("%c", x); //변수 x에 저장되어 있는 값을 문자(%c)로 출력

}

 

숏코딩)

 

main(x){scanf("%c",&x);printf("%c",x);}

 

한 줄 평가 : 간단한 입출력 문제이다. 25바이트는 어떻게 만드는지 모르겠다 ㅠㅜ

'코드업 답안&숏코딩' 카테고리의 다른 글

1012~1014번  (0) 2020.03.29
1004~1007번  (0) 2020.03.27
1001번~1003번  (0) 2020.03.27

바로 풀이 들어가겠습니다.

 

problem number. 1004

 

모범소스)

 

#include <stdio.h>
int main()
{
	printf("\'Hello\'");
	return 0;
}

 

숏코딩)

 

main(){puts("'Hello'");}

 

한 줄 평가 : 간단한 출력 문제입니다. 숏코딩이 문법에 어긋나지만 채점은 잘만 됩니다.(맞으면 장땡이지)

 

 

 

problem number. 1005

 

모범소스)

 

#include <stdio.h>

int main()
{
	printf("\"Hello World\"");
	return 0;
}

 

숏코딩)

 

main(){puts("\"Hello World\"");}

 

한 줄 평가 : 간단한 출력 문제입니다. 이 문제는 위의 문제와 같이 숏코딩 하면 틀립니다.

 

 

problem number. 1006

 

모범소스)

 

#include <stdio.h>

int main()
{
	printf("\"!@#$%^&*()\"");
	return 0;
}

 

숏코딩)

 

main(){puts("\"!@#$%^&*()\"");}

 

한 줄 평가 : 위의 모든 문제와 같이 간단한 출력 문제입니다. 숏코딩도 매우 단순합니다.

 

 

 

감사합니다.

'코드업 답안&숏코딩' 카테고리의 다른 글

1012~1014번  (0) 2020.03.29
1008번~1011번  (0) 2020.03.28
1001번~1003번  (0) 2020.03.27

+ Recent posts