"Hello World!"
I/O
자료형
조건문
For문
함수
포인터
배열 기초
Variable Sized
StringStream
Strings
구조체
Classes
Classes and Objectvies
16\. Box It! \[ 난이도: Easy | 분야: Classes \] 1\. 과제 Box라는 클래스를 정의하라. 차원은 정수이고 class 내에서 private으로 정의되어 있다. 각 차원들은 레이블 되어 있다: 길이 l, breadth b, 그리고 높이 h. 클래스의 default constructordls l, b 그리고 h는 각 0으...
상속
예외
Virtual Function
Abstract
Vector-Sort
Vector-Erase
Lower-Bound-STL
Sets-STL
Map
Deque
Inheritance
29\. Hotel Prices \[ 난이도: Medium | 분야: Debugging \] 1\. 과제 이번 챌린지에서는 제공된 모든 테스트 파일들을 성공적으로 실행하기 위한 코드를 디버깅하는 것이다. 기본적인 호텔방과 호텔 아파트를 나타내는 HotelRoom 클래스와 HotelApartment가 있다. 이 클래스들은 두 파라미터를 가진다: be...
30\. Cpp exception handling \[ 난이도: Medium | 분야: Debugging \] 1\. 과제 이번 챌린지에서는, 제공된 모든 테스트 파일들을 성공적으로 실행해야 한다. std::invalid\_argument 예외를 적절히 다루도록 코드를 수정해야 한다. 더 구체적으로, 주어진 process\_input 함수를 수정해...
32\. Multi Level Inheritance \[ 난이도: Easy | 분야: Inheritance \] 이번 챌린지에서는 Inheritance-Introduction의 연장선에 있는 챌린지다. 이 문제를 풀기 전에 반드시 이전 챌린지를 풀고 오는 것을 추천한다. 이전 문제에서, 상속에 대해 배웠고 base 클래스의 멤버 함수들을 derive...
오버로딩
Messages
35\. Accessing Inherited Functions \[ 난이도: Medium | 분야: Inheritance\] 1\. 과제 문제에서 클래스 A, B 그리고 C가 주어진다. 모든 세 클래스는 그들만의 함수를 가지고 있다. 클래스 A에는 받아온 파라미터에 2를 곱한다. 클래스 B에는 받아온 파라미터에 3을 곱한다. 클래스 C에는 받아온...
36\. Magic Spells \[ 난이도: Hard | 분야: Inheritance \] 1\. 과제 과제 설명 비디오 게임을 하는 동안, 매우 강력한 암흑의 마법사와 싸워야 한다. 그가 거리를 두며 마법을 영창하는동안, 오직 수 초만이 반응하도록 시간이 주어지고 역영창을 해야 한다. 역영창이 효과가 있기 위해서는 상대방이 어떤 영창을 하는지...
37\. C++ Class Templates \[ 난이도: Easy | 분야: Other Concepts \] 1\. 내용 정리 클래스 탬플릿은 파라미터에 기반한 클래스를 생성하는 특징을 가지고 있다. 클래스 탬플릿은 컨테이너를 구현하는데 사용된다. 클래스 탬플릿은 탬플릿 인자로서 제공된 set을 인스턴스화한다. 아래의 MyTemplate 예시는...
38\. Preprocessor Solution \[ 난이도: Easy | 분야: Other Concepts \] 1\. 내용 정리 Preprocessor directive는 해쉬 문자(#)로 코드 안에서 구분되어 있는 줄이다. 이 줄들은 preprocessor를 지시한다. preprocessor는 코드의 컴파일 시작 전에 실행되고 어느 코드든 r...
12\. Attribute Parser 1\. 내용 정리 이번 챌린지는 custom-designed markup language인 HRML을 사용한다. HRML에서는 각 요소들은 시작 태그와 종료 태그로 둘러싸여 있고 각 태그를 포함하도록 되어있다. 오직 시작 태그만의 attribute를 가질 수 있다. 틸다 '~'라고 하는 래퍼렌싱 태그를 사용함...
39\. Operator Overloading 1\. 내용 정리 클래스는 C++에서 새로운 타입을 정의한다. C++에서의 타입은 constructions와 assignments와 호환되는 것이 아닌 연산자에서도 가능하다. 예를 들어: c의 값은 3일 것이다. 비슷하게, 클래스에서 또한 연산자 오버로딩을 통해 연산 기능을 수행할 수 있다. 연산자는 ...
40\. Overload Operators \[ 난이도: Easy | 분야: Other Concepts \] 1\. 과제 과제 설명 Complex라는 클래스가 다음과 같이 주어져 있다: 연산자들은 특별한 이름의 정규 함수인 operator function으로 오버로드 되어 있다. 이 함수의 이름은 오버로드된 연산자 기호 뒤에 파라미터를 붙이는 것으...
31\. Rectangle Area \[ 난이도: Easy | 분야: Inheritance \] 1\. 과제 이번 챌린지에서는, 사각형의 면적을 구해야 한다. 두 클래스를 만들자: Rectangle 사각형 클래스는 두 데이터 필드를 가지고 있다 - int 형식의 width와 height 이 클래스는 display() 메소드를 가지고 있고, 이 ...
Hello World!
If / else
03\. Arithmetic Operators \[ 난이도: Easy | 분야: Introduction \] Task 제공된 코드는 STDIN으로부터 두 가지 정수를 입력받는다. a와 b. 세 줄을 코드를 추가하라: 1\. 첫 번째 줄은 두 수의 합을 출력한다. 2\. 두 번째 줄은 두 수의 차를 출력한다.(첫 번째 수 - 두 번째 수) 3\....
04\. Python: Division \[ 난이도: Easy | 분야: Introduction \] Task 주어진 코드 stub에서는 STDIN으로 a와 b 두 정수를 읽는다. 두 줄을 출력하는 로직을 추가하라. 첫 번째 줄은 a//b의 결과를 가지고 있고 두 번째 줄은 a/b의 결과를 가지고 있다. 반올림과 포맷을 정할 필요는 없다. 예제...
05\. Loops \[ 난이도: Easy | 분야: Introduction \] Task 주어진 코드는 STDIN으로부터 정수 n을 stub로 읽는다. 모든 음수가 아닌 n보다 작은 정수 i에 대해 제곱수를 출력하라. 예시 n = 3에서 음수가 아닌 정수들은 \[0, 1, 2\]이고 이것들의 제곱수를 각 줄에 표시하면 입력 형식 첫 번째 단...
06\. Write a function \[ 난이도: Medium | 분야: Introduction \] 윤일이라고 불리우는 날이 4년에 한 번씩 추가된다.(2월 29일) 이렇게 수정하는 이유는 실제로 지구의 1년은 약 365.25일이기 때문이다. 윤년에는 윤일을 포함한다. 그레고리력에는 윤년을 파악하기 위한 세 가지 규칙이 있다: 년도가 4로 딱...
07\. Print Function \[ 난이도: Easy | 분야: Introduction \] 내장된 코드 stub는 STDIN으로부터 정수 n을 읽는다. 어떤 문자열 메소드를 사용하지 않고 다음을 출력해라: 123 ... n "..."은 두 수의 사잇수를 표현한 것이다. 예시 n = 5일 때 12345를 출력한다. Input Format...
08\. List Comprehensions \[ 난이도: Easy | 분야: Basic Data Types \] 1\. 과제 과제 설명 리스트 비교에 대해 배워보자! 입력으로 정수 x, y 그리고 z가 주어지고 차원을 나타내는 정수인 n과 함께 제공된다. i+j+k가 n과 같지 않도록 하는 3차원 좌표 (i,j,k)를 출력해라. 여기서 i는 0...
09\. Find the Runner-Up Score! \[ 난이도: Easy | 분야: Basic Data Types \] 1\. 과제 설명 대학 스포츠 데이에서 참가자들의 점수 시트가 주어질 때 runner-up score를 찾아야 한다. 시트에는 n개의 점수들이 있다. 리스트에 이 데이터를 저장하고 runner-up 데이터를 찾아라! 입력 ...
10\. Nested Lists \[ 난이도: Easy | 분야: Basic Data Types \] 1\. 과제 반의 N명 학생들의 각각의 이름과 성적이 주어지고 이를 nested list에 저장한 후 성적이 두 번째로 낮은 학생의 이름을 출력하라. 주의: 성적이 두 번째로 낮은 학생이 여러 명이라면 알파벳 순으로 이름을 정렬한 후 각각 별도의 줄...
11\. Finding the percentage \[ 난이도: Easy | 분야: Basic Data Types \] 1\. 과제 과제 설명 주어진 코드 stub는 딕셔너리 안에 포함되어 있는 키/값을 읽어온다.(name:\[marks\]) marks의 평균을 구하고, 소수 두 자리까지 표현하라. 예제 marks의 키:값 쌍은 'alpha'...
12\. Lists \[ 난이도: Easy | 분야: Basic Data Types \] 1\. 과제 과제 설명 list가 있다고 가정하자.(list = \[\]) 아래의 활동을 하시오: 1\. insert i e: i라는 위치에 정수 e를 넣기 2\. print: 리스트 출력 3\. remove e: 첫 번째 정수 e를 제거하기 4\. ap...
13\. Tuples \[ 난이도: Easy | 분야: Basic Data Types \] 1\. 과제 과제 설명 주어진 정수 n이 있고 n개의 공백으로 구분된 정수들이 입력으로 들어와서 튜플 t를 생성한다. 이 때 hash(t)를 연산하고 출력해라. 메모: hash()는 \\builtins\\ 안에 정의된 함수 중 하나이기 때문에 import ...
14\. sWAP cASE \[ 난이도: Easy | 분야: Strings \] 1\. 과제 과제 설명 이번 과제에서는 문자열이 주어져 있고 swap cases를 수행하면 된다. 좀 더 쉽게 말하면, 모든 소문자들을 대문자로 바꾸고 대문자들은 소문자로 바꾸면 된다. 예시: 함수 설명 아래의 에디터의 swap\_case 함수를 완성해라. swa...
15\. String Split and Join \[ 난이도: Easy | 분야: Strings \] 1\. 과제 과제 설명 파이썬에는, 구분기호로 문자열을 분리할 수 있다. 예시: 반대로 문자열을 연결할 수도 있다. Task 주어진 문자열을 " "(공백)으로 분리시킨 뒤, - 하이픈으로 연결하라. Function Description 아...
16\. What's Your Name? \[ 난이도: Easy | 분야: Strings \] 1\. 과제 과제 설명 다른 두 줄에 사람에 대한 성씨와 이름이 있다. 이번 과제에서는 이 정보들을 읽고 아래처럼 출력하는 것이다: 함수 설명 print\full\name 함수를 완성하라. print\full\name은 아래 파라미터를 가진다: \-...
17\. Mutations \[ 난이도: Easy | 분야: Strings \] 1\. 과제 과제 설명 파이썬에서는 리스트는 수정 가능하고 튜플은 수정 불가능하다. 이 기능에 대해 아래 예시를 통해 살펴보자. 아래 예시에서는 수정할 수 없는 문자열이 주어지고, 문자열을 수정하는 것이 목적이다. 예시 이 때 문자열은 인덱스를 통해 접근할 수 있...
18\. Find a String \[ 난이도: Easy | 분야: Strings \] 1\. 과제 과제 설명 이번 챌린지에서는, 사용자가 문자열과 하위문자열을 입력한다. 이 챌린지에서 하위문자열이 문자열 안에 얼마나 있는지 수를 세야 한다. 문자열을 탐색하는 것은 왼쪽에서 오른쪽으로 진행한다.(오른쪽에서 왼쪽으로 진행하는 것이 아님에 유의해라)...
19\. String Validators \[ 난이도: Easy | 분야: Strings \] 1\. 과제 과제 설명 기본 데이터에 대해 파이썬은 내장 문자열 검증 메소드가 있다. 만약 문자열이 알파벳, 숫자, 디지털 숫자 등이라면 검증할 수 있다. str.isalnum() 이 메소드는 모든 문자가 알파벳 또는 숫자인지 확인한다. (a-z, A...