티스토리 뷰
안녕하세요. 09LABS입니다.
오늘은 코딩 연습문제를 연습할 수 있는 Hackerrank 에 대해 소개해드리고 문제풀이를 써볼까 합니다.
Hackerrank는 백준, 프로그래머스와 같이 코딩 연습을 할 수 있는 웹입니다.
위 사진과 같이 대시보드 페이지가 구성되어 있습니다.
Problen Solving 페이지에 들어가면 코딩 문제가 나열되어 있습니다.
Status - 해결 / 미해결
Difficulty - 난이도
Subdomains - 코딩문제 분야
문제를 누르면 문제 설명에 대한 정보, 함수 프로토타입, 반환값, 샘플 입력 / 출력에 대한 정보가 나와있습니다.
문제를 푸실 때 이 정보를 보시고 코드를 작성하시면 됩니다.
아래 코드 작성 페이지를 보면 언어 선택을 할 수 있는 창이 있습니다.
익숙하신 코드로 코드를 작성하시면됩니다.
Hackerrank에서 지원하는 언어는 C, C++, C++14, C#, BASH, Python, Kotlin, Go 등 다양한 언어를 지원합니다.
그럼 문제풀이를 시작해볼까요?
문제 : 두 정수의 합을 반환하는 함수를 작성하시오.
a : 첫 번째 정수 입력 / b : 두 번째 정수 입력
반환 값 : 두 정수의 합
샘플 입력 : a = 2 / b = 3
샘플 출력 : 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int solveMeFirst(int a, int b) {
return a+b;
}
int main() {
int num1, num2;
int sum;
cin>>num1>>num2;
sum = solveMeFirst(num1,num2);
cout<<sum;
return 0;
}
|
cs |
샘플 코드는 위와 같이 작성해주었습니다.
int sum = a+b;
return sum;
위와 같이 코드를 작성할 수도 있겠지만, 메모리를 최소화하고 입력 값을 바로 반환할 수 있는
코드를 작성하는 것도 굉장히 중요합니다.
공간복잡도와 시간복잡도의 개념이 사용되는데요, 공간복잡도는 얼마나 많은 메모리가 사용되는지
시간복잡도는 연산하는데 얼마나 많은 시간이 사용되는지에 대한 척도입니다.
제가 작성한 코드와 같이 작성하면 공간복잡도와 시간복잡도를 최소화할 수 있겠죠?
코드 작성을 완료한 뒤 Run Code를 누르면 테스트 케이스에 대한 코드 실행이 진행되고
주어진 조건에 만족할 경우 Congratulations라는 메세지가 뜹니다.
마지막으로 Submit Code를 누르면 다음 문제로 넘어갈 수 있게 됩니다.
코드를 제출한 뒤 Submissions 페이지를 들어가면 현재까지 제출한 코드에 대해 점수와 제출한 언어 제출 시간, 결과가 표시됩니다.
View Results를 누르면 제출한 코드를 확인할 수 있습니다.
오늘은 Hackerrank에 대해 간단하게 소개해드리고 Warmup 문제 1번에 대해 풀어봤습니다.
다음 시간에는 Simple Array Sum에 대해 알아보겠습니다.
'코딩하자 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] Greedy - 체육복 (C++) (0) | 2021.01.10 |
---|---|
[프로그래머스] 완전탐색 - 모의고사 (C++) (0) | 2021.01.09 |
- Total
- Today
- Yesterday
- 3D 프린터
- 자작
- 코딩테스트
- 프로젝트
- 라즈베리파이
- Arduino
- SQLITE3
- 프린터
- fusion360
- 오픈소스
- Fusion 360
- 하드웨어
- 아두이노
- C언어
- ESP
- IOT
- DIY
- 퓨전360
- 오픈소스 하드웨어
- esp32
- 해커랭크
- C++
- 리눅스
- 쏘카
- 설계
- ESP-IDF
- Hypercube
- 3D
- 3d프린터
- 3D Printer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |