본문 바로가기

Programming/Code Challenge6

[C++ HackerRank 코드 챌린지] Day 13: Abstract Classes (추상) 계속해서 HackerRank 30 days of code에 속한 문제중 Day 13: Abstract Classes (추상)에 관해 풀어보도록 하겠습니다. 저의 코드는 github에 올려 두었으니 참고하시면 좋겠습니다. 이 글에서 설명되는 문법에 대한 내용은 TCP School의 문서를 참고하였습니다. 이번 문제는 Day 12: Inheritance (상속) 문제를 확장해서 푸는 문제입니다. 추상 클래스는 매우 구체적인 객체 지향 개념이기 때문에 이 구문을 사용하는 언어는 그렇게 많지 않다고 하네요. 일단 c++로 문제가 구현이 되어 있기에 풀어보겠습니다. 문제는 다음과 같습니다. Book 클래스가 주어져있고, 다음을 만족하는 MyBook 클래스를 작성하면 됩니다. 1. Book의 속성을 상속할것 2. .. 2020. 5. 17.
[C++ HackerRank 코드 챌린지] Day 12: Inheritance (상속) 계속해서 HackerRank 30 days of code에 속한 문제중 Day 12: Inheritance (상속)에 관해 풀어보도록 하겠습니다. 저의 코드는 github에 올려 두었으니 참고하시면 좋겠습니다. 먼저 person과 student라는 two class가 주어집니다. 이때 person은 base class, student는 derived class 입니다. person 클래스에 관한 코드는 작성이 되어있고, student class또한 선언은 되어 있는 상태입니다. 이때 student 클래스는 person의 모든 속성을 상속 받습니다 (Student inherits all the properties of Person). 이제 다음과 같이 4개의 파라미터를 갖는 student class를 완성.. 2020. 5. 16.
[C++ HackerRank 코드 챌린지] 0-4. Repeated String 계속해서 HackerRank interview-preparation-kit에 속한 문제중 Repeated String에 관해 풀어보도록 하겠습니다. 저의 코드는 github에 올려 두었으니 참고하시면 좋겠습니다. 이문제는 입력으로 문자열과 써야할 문자의 개수가 들어 왔을 때 출력되는 문자열에서 'a'가 몇번 박복되는지 찾는 문제입니다. aba 10 만약 위와 같은 입력이 들어 왔다고 하면, aba로 10글자를 만들고 그 글자에서 a가 몇번 나오는지 계산해서 출력해주면 됩니다. 이 경우에는 abaabaabaa 이 되므로 총 a는 7번 반복되죠. long repeatedString(string s, long n) { long a_count = 0; int a_count_in_s=0; if((int)s.siz.. 2020. 4. 26.
[C++ HackerRank 코드 챌린지] 0-3. Jumping on the Clouds 계속해서 HackerRank에 있는 interview-preparation-kit에 속한 문제중 Jumping on the Clouds에 관해 풀어보도록 하겠습니다. 저의 코드는 github에 올려 두었으니 참고하시면 좋겠습니다. 이 문제는 0과 1의 숫자 array를 입력으로 받고 그 입력 중 0을 연결해서 array의 마지막 항까지 도달할때 이동한 횟수를 구하는 문제입니다. 이때 array는 최대 2칸까지 이동할 수 있습니다. 예를들어서 다음과 같이 사이즈가 7인 array 입력이 들어오면, 7 0 0 1 0 0 1 0 1-2-4-5-7의 순서로 총 4번 이동하여 도달할 수 있으므로 4를 return하면됩니다. 6 0 0 0 0 1 0 위와 같은 입력일 경우에는 1-3-4-6으로 3번만 이동하면 되죠.. 2020. 4. 23.
[C++ HackerRank 코드 챌린지] 0-2. Counting Valleys 지난글에이어 HackerRank에 있는 interview-preparation-kit에 속한 문제중 Counting Valleys에 관해 풀어보도록 하겠습니다. counting valley는 U(Up)와 D(Down)로 이루어진 string입력을 받고 이를통해 계곡이 몇개 포함되어 있는지 찾는 문제입니다. 출발은 sea level에서 하고 sea level 아래로 내려갔다가 다시 sea level로 복귀하면 계곡이 1개 카운트가 되는 법칙입니다. 예를들어서 입력이 다음과 같다면, 8 UDDDUDUU 위 그림과 같이 나타낼 수 있고 sea level에서 출발해서 sea level로의 복귀가 1번있었으므로 계곡은 1개 카운트가 되게 됩니다. 이러한 형태의 random input을 받아서 올바른 return을.. 2020. 4. 22.
[C++ HackerRank 코드 챌린지] 0-1. Sock Merchant 오늘부터 코딩관련 연습을 하나씩 해보려고 합니다. 매일매일 기능구현에만 집중하다보니 정작 기본을 놓치고 있다는 느낌이 드네요. 그래서 HackerRank에 있는 Interview preparation kit에 속한 문제들을 하나씩 풀어보려고 합니다. https://www.hackerrank.com/interview/interview-preparation-kit The HackerRank Interview Preparation Kit | HackerRank Prepare for you upcoming programming interview with HackerRank's Ultimate Interview Preparation Kit www.hackerrank.com 먼저 Warm-Up Challenges에.. 2020. 4. 21.