해커랭크(HackerRank)
-
Ransom Note해커랭크(HackerRank) 2019. 3. 12. 10:05
https://www.hackerrank.com/challenges/ctci-ransom-note/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=dictionaries-hashmaps 1. 문제 주어진 문자열 벡터요소에 다음 벡터요소가 포함 되어 있는지 확인 하는 문제 2. 알고리즘 키워드 - hash 3. 코드 #include using namespace std; vector split_string(string); // Complete the checkMagazine function below. void checkMagazine(vector magazine, vector note) { so..
-
Left Rotation해커랭크(HackerRank) 2019. 3. 12. 08:36
1. 문제 2. 알고리즘 키워드 - 구현 * 문제 풀이 입력 으로 들어오는 배열에 요소를 왼쪽으로 d 만큼 ROTATION 하는 문제이며 d 입력 값에 따라 반복적으로 연산량이 증가 된다. 초기 접근은 d 만큼 반복문 내에서 swap 하도록 구현 하였으나 timeout 이 발생하여 다른 방법으로 접근 하기로 했음 문제에 주어진 조건에서 d 는 배열의 크기보다 작은 수로 입력 됨으로 아래와 같은 식을 세울 수 있다. 이동 될 위치 = ( 배열의 크기 - d + 현재 배열의 위치) % 배열의 크기 문제에서 주어진 예제 기준으로 대입 해 본다면 이동 될 위치는 아래 와 같다. index 0 일 때 = (5 - 4 + 0) % 5 이동 될 위치는 1 index 1 일 때 = (5 - 4 + 1) % 5 이동 될..
-
Simple Array Sum해커랭크(HackerRank) 2018. 8. 19. 17:49
1. 문제입력으로 들어오는 모든 원소의 합을 구하는 문제 2. 알고리즘키워드 - 구현 3. 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include using namespace std; vector split_string(string); /* * Complete the simpleArraySum function below. */int simpleArraySum(vector ar) { /* * Write your code here. */ const int kSize = ar.si..
-
Compare the Triplets해커랭크(HackerRank) 2018. 8. 19. 17:49
1. 문제 2. 알고리즘키워드 - 구현 * 회고 문제가 조금 이상 함.A, B 배열에 원소에서 크기를 비교 하여 A 가 크면 alice 에 1 포인트를 적산하고B 가 크면 Bob 에게 1 포인트를 적산 하여 출력 3. 코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107#include using namespace std; vector split_string(string); /..
-
A Very Big Sum해커랭크(HackerRank) 2018. 8. 19. 17:48
1. 문제 2. 알고리즘키워드 - 구현 * 문제 풀이 - 인자로 들어오는 정수 배열에 합을 구하는 문제이다. int 의 유효범위가 넘어 가기 때문에 오차가 생긴다. - int 형 데이터의 합산의 값을 long long 으로 변경 하여 풀이 한다. 3. 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include using namespace std; vector split_string(string); /* * Complete the aVeryBigSum function below. ..
-
Diagonal Difference해커랭크(HackerRank) 2018. 8. 19. 17:46
1. 문제2차원 배열요소에서 각 대각 선의 합을 구하여 두 대각선의 차이의 절대 값을 구하는 문제. 2. 알고리즘키워드 - 구현 3. 코드 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include using namespace std; /* * Complete the diagonalDifference function below. */int diagonalDifference(vector a) { /* * Write your code here. */ int row = a.size(); int colum = a[0].size(); int xAxis = 0; for(int..
-
Plus Minus해커랭크(HackerRank) 2018. 8. 19. 17:45
1. 문제 2. 알고리즘키워드 - 구현 * 문제 풀이 입력 받은 자연수에서 음수, 양수, 0 의 숫자의 개수가 전체 입력 받은 원소의 크기를 분수로 표현하여 출력-.- 영어 설명 그대로 풀면 됨 6-4 3 -9 0 4 1음수 : -4, -9 / 총 크기 : 2양수 : 3, 4, 1 / 총 크기 : 30 : 0 / 총 크기 : 1 postive : 3/6 = 0.500000negative : 2/6 = 0.33333zero : 1/6 = 0.166667 3. 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273..