본문 바로가기

hacker rank12

[C언어 연습문제]강좌 12. Printing Tokens(문자열 토큰을 사용한 출력) 학습(Study) & 목표(Objective) & 과제(Task)단어가 포함된 문장 s가 주어지면, 각 단어를 출력하는 것이 목표이자 과제입니다. 입력 형식(Input Format) 문장 s를 첫 줄에 입력받습니다. 제약 조건(Constraints)문장의 길이는 1보다 크거나 같고, 1000자보다는 적거나 같아야 합니다. 출력 형식(Output Format) 새로운 줄 마다 각각의 단어를 표출합니다. 입력 예제(Sample Input) - 1 This is C 주어진 문자열에는 세 단어가 있습니다. {"This", "is", "C"}이 단어를 새로운 줄에 인쇄해야 합니다. 출력 예제(Sample Output) - 1 ThisisC 입력 예제(Sample Input) - 2Learning C is fun .. 2019. 3. 26.
[C언어 연습문제]강좌 11. Array Reversal(배열 반전, 요소 뒤집어 출력) 학습(Study) & 목표(Objective) & 과제(Task)크기 n의 배열을 역순으로 만들어 봅시다.예제배열 arrarr = [1, 2, 3, 4, 5]반전된 배열arr = [5, 4, 3, 2, 1] 입력 형식(Input Format) 첫 줄에 배열의 크기를 나타내는 정수 n이 표시됩니다. (입력)다음 줄에는 n개의 공백으로 구분된 정수 배열의 요소가 표시 됩니다. 제약 조건(Constraints)i는 배열의 요소(index)출력 형식(Output Format) 출력은 배열을 인쇄할 편집기에서 주어진 코드로 출력합니다.주어진 배열을 역순으로 표시하면 됩니다. 입력 예제(Sample Input) - 1 616 13 7 2 1 12 참고 : 배열 arr = [16, 13, 7, 2, 1, 12] 출력.. 2019. 3. 22.
[C언어 연습문제]강좌 10. 1D Arrays in C(malloc - 동적 배열 만들기) 학습(Study) & 목표(Objective)배열은 정해진 유형의 고정된 값을 갖는 컨테이너 객체입니다. C언어에서는 int arr[n]; 과같이 n의 크기를 갖는 정수형 배열 arr를 선언할 수 있습니다. int arr[n] 배열은 컴파일 시간에 메모리가 할당되는 정적 배열입니다. C언어에서는 malloc 함수를 사용하여 프로그램 실행 중에 heap 메모리에 동적으로 배열을 생성할 수 있습니다. 사이즈가 n인 정수형 배열 arr를 만드는 방법입니다.int *arr = (int*)malloc(n * sizeof(int)); 여기서 arr는 배열의 처음 시작 주소를 갖는 포인터를 지칭합니다. 과제(Task) 이 연습문제에서는 배열의 크기, 배열의 요소를 입력받고, 크기가 n인 정수형 동적 배열을 생성하여 .. 2019. 3. 20.
[C언어 연습문제]강좌 9. Printing Pattern using Loops(숫자가 둘러진 대칭 사각형 패턴 인쇄하기) 반복문 패턴 표출 - 정수 n 만큼 둘러진 대칭 사각형 패턴 인쇄하기. 학습(Study) & 목표(Objective)easy 난이도를 벗어나는 문제가 나왔습니다. 1부터 n까지 과제(Task) 양식의 패턴을 인쇄하는 문제입니다. 과제(Task) 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 3 3 3 3 3 4 5 5 4 3 2 2 2 3 4 5 5 4 3 2 1 2 3 4 5 5 4 3 2 2 2 3 4 5 5 4 3 3 3 3 3 4 5 5 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5입력 형식(Input Format) 정수형 변수 n을 하나 입력받습니다. 제약 조건(Constraints) 출력 형식(Output Format) 과제에 언급된 패턴을 표준 출력으로.. 2019. 3. 19.
[C언어 연습문제]강좌 8. Bitwise Operators(과제를 통한 비트 연산자의 활용) 학습(Study) & 목표(Objective)C에서 비트 연산자를 사용하는 문제를 풀어보려고 합니다. CPU 내부에는 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)이 비트 수준에서 수행됩니다. C 프로그래밍에서 비트 수준의 연산을 수행하려면, 비트 연산자를 사용해야 합니다. AND 비트 연산자는 & 입니다. 해당하는 2개의 피연산자가 모두 1이면, 1을 반환합니다. 피연산자 중 하나라도 0이면, 0을 반환합니다.OR 비트 연산자는 | 입니다. 해당하는 2개의 피연산자가 하나라도 1이면, 1을 반환합니다. XOR 비트 연산자는 ^ 입니다. 두 피연산자의 해당 비트가 반대이면, 1을 반환합니다. 예를 들어 int형 정수 3과 5가 있으면, 아래처럼 되겠죠.3 = 00000011 (In Binary, 2진수)5 = .. 2019. 3. 18.
[C언어 연습문제]강좌 7. For Loop in C(C언어 for문) 학습(Study) & 목표(Objective)이번에는 반복문 중에서 for 문을 사용하여 문제를 해결해보려고 합니다. for 문은 반복적인 프로그래밍 구문을 실행할 수 있는 반복으로, 표현 식은 다음과 같습니다.for ( ; ; ) { }표현식 1은 일반적으로, for 반복문이 종료되기 위한 플래그 조건을 제어하는 변수를 초기화하는 데 자주 사용됩니다.표현식 2는 반복문의 종료 조건을 검사합니다. 표현식2의 조건이 거짓으로 판단되면, 반복문의 반복은 종료됩니다.표현식 3은 플래그나 변수를 갱신하는 데 많이 사용됩니다.for문의 예제코드int i = 0;for(i = 0; i < 10; i++){...} 과제(Task) 입력받은 두 정수[a, b] 사이의 값을 출력한다. 출력하려는 정수를 n이라고 했을 때.. 2019. 2. 27.
[C언어 연습문제]강좌 6. Playing With Characters(문자 입력), scanf()로 공백 입력받기 학습(Study) & 목표(Objective)scanf() 함수 사용법은 2번째로 나왔어야 됐는데, 누락이 되어 6번째로 밀렸네요. 가볍게 봐주시면 좋겠습니다. C언어에서 문자열이나 문장, 문자를 입력받을 때 어떻게 입력을 받을 수 있을까요? 다양한 방법이 있지만, 가장 먼저 접하게 되는 것이 scanf() 함수입니다. 말 그대로 format의 형식대로 무엇인가를 scan 한다는 의미이죠. ch 변수에 하나의 문자를 입력받는 방법은 scanf("%c", &ch); 로 사용하실 수 있습니다. 그리고 printf("%c", ch); 로 표준 출력 화면(모니터)에 표시하실 수 있고요. char ch;scanf("%c", &ch);printf("%c", ch); C언어의 scanf 함수는 또 문자열을 입력받을 .. 2019. 2. 19.
[C언어 연습문제]강좌 5. Conditional Statements in C(C언어 if 조건문), 숫자 조건을 영어로 표현하기) 학습(Study) & 목표(Objective)아무도 읽지 않아 슬픈 일기 강좌가 되어가고 있습니다. 이번 시간에는 if 문을 사용한 예제 문제를 풀어보려고 합니다.if와 else는 C언어와 C++ 언어에서 가장 많이 사용하는 조건문으로, 여러 종속 조건 중에 실행을 안 하거나 하나 이상의 조건문을 실행할 수 있어요. if 문은 condition 조건을 만족할 때, 중괄호로 묶인 statement1 구문 실행을 시작합니다.if (condition) { statement1;...} if - else 문은 condition 조건을 만족하면 statement1이 포함된 중괄호 부분을 수행하고, 조건에 만족하지 못하면 중괄호로 묶인 else 구문 statement2를 수행합니다.if (condition) {sta.. 2019. 2. 18.
[C언어 연습문제]강좌 4. Pointers in C(포인터로 2개의 변수를 반환하는 함수 구현) 학습(Study)여기서는 C언어의 포인터의 기본적인 사용 방법을 구현하는 방법을 배울 수 있습니다. C언어에서 포인터는 주로 함수에서 여러 데이터 간의 메모리 주소를 공유하는 방법으로 많이 쓰입니다. 함수가 소유권이 없는 변수 내용을 수정해야 할 때마다 주로 사용됩니다. 변수의 메모리 주소에 접근하려면 & 기호를 붙여서 사용해야 합니다. 예를 들어 val 변수의 주소에 접근하려면 &val을 사용해서 val 변수의 주솟값을 반환받을 수 있습니다. 이 메모리 주소가 포인터에 할당되어, 다양한 함수에서 공유할 수 있습니다. int *p = &val; 을 예를 들면, val 변수의 메모리 주소가 p 포인터에 할당된다고 보면 됩니다. 변수명 앞에 * 기호를 사용하면, 포인터의 메모리 내용에 접근하여 값을 읽을 수.. 2019. 2. 16.
[C언어 연습문제]강좌 3. Functions in C(최대 값을 구해보자 ) 학습(Study)모든 프로그래밍 언어에 존재하는 함수를 써볼 시간이 왔어요. 여기서는 간단하게 C언어에서 함수를 사용하는 방법을 익히는 문제를 풀어보려고 해요. 함수는 명령문의 모음이라고 볼 수 있겠네요. (원본을 기준으로 설명해 드리려고 하는데, 영알못이라, Function are a bunch of statements glued together를 어떻게 의역해야 할지 모르겠네요) 함수는 0개 이상의 인자값을 가질 수 있고, 명령문을 수행합니다. 반환 유형에 따라 아무것도 반환하지 않거나, 무엇인가를 반환하는 기능을 합니다. C언어 함수의 간단한 사용법입니다.return_type function_name(arg_type_1 arg_1, arg_type_2 arg_2, ...){......[if retu.. 2019. 2. 16.
[C언어 연습문제]강좌 2. Sum and Difference of Two Numbers(printf()와 scanf()) 서론 Hello, World! 를 찍어봤다면, 이제 printf()와 scanf()를 사용해서 입력을 받아보고, 출력을 해봐야죠. 아직은 복습하는 단계로 가볍게 넘어갈 수 있을 것 같아요. Hacker Rank는 해외사이트로, 모든 게 영어로 구성되어 있는데요, 영어 자료를 같이 가져오는 게 나을까요? 지금처럼 한글로 쉽게 풀어 놓는 게 좋을까요? 영어를 같이 가져오면 장점이 영어 구글링 능력의 향상과 영어 실무에 대한 이해도, 실무 업무에 대한 이해도가 올라갈 수 있다는 장점이 있지만, 영어 원문을 같이 가져오면 초보자분들이 보기 어려워 보일 수 있다는 점, 아무래도 가독성이 떨어지는 점 등이 있으니까요. 댓글로 의견을 남겨주시면 감사하겠어요~ 학습(Study)C 언어의 기본 데이터 유형은 int, f.. 2019. 2. 14.
[C언어 연습문제]강좌 1. "Hello World!" in C, C언어 소개 및 입출력 서론 코딩 연습을 하고, 연구하고, 공부하는 사이트가 있어요. 유사한 시스템의 사이트가 요즘에는 수없이 많이 있죠.그중에 Hacker Rank라는 온라인 프로그래밍 연습, 경쟁 사이트의 내용을 토대로 프로그래밍 포스팅을 시작하려고 합니다. 원래 C언어, C#, Python, HTML5, Java 등의 강의 콘텐츠를 제작할 생각이었는데, 블로그 특성상 강의 목차가 들쑥날쑥할 수 없기에 고민만 하다가 아무것도 못 하기 일쑤였죠. 프로그래밍 팁과 코드 조각을 올려볼까 생각해봤는데, 너무 메모장 같은 느낌을 줄 것 같아서 또 실천하지 못했습니다.그리고 이렇게 무라도 베어보려고, 주어진 문제에 대한 코드를 풀어가는 것으로 블로그 글이 끊기지 않도록 하면서 다시 생각해보려고 합니다. C 언어 프로그래밍의 시작 첫 .. 2019. 2. 14.