본문 바로가기

분류 전체보기

(176)
[Hackerrank] 35. Accessing Inherited Functions 35. Accessing Inherited Functions [ 난이도: Medium | 분야: Inheritance] 1. 과제 문제에서 클래스 A, B 그리고 C가 주어진다. 모든 세 클래스는 그들만의 함수를 가지고 있다. 클래스 A에는 받아온 파라미터에 2를 곱한다. class A { public: A(){ callA = 0; } private: int callA; void inc(){ callA++; } protected: void func(int & a) { a = a * 2; inc(); } public: int getA(){ return callA; } }; 클래스 B에는 받아온 파라미터에 3을 곱한다. class B { public: B(){ callB = 0; } private: int ..
[Hackerrank] 34. Messages Order 34. Messages Order [ 난이도: Medium | 분야: Debugging ] 1. 과제 실생활 어플리케이션과 시스템에서, 흔히 사용하는 것 중 하나가 메시지이다. 아이디어는 전송하는 자가 메시지를 수신자에게 보내는 것이다. 메시지는 네트워크를 통해 전달된다. 하지만, 몇몇 네트워크 프로토콜은 보낸 메시지의 순서를 보존하는 것을 보장하지 않는다. 예를 들어, 어떤 사람이 hello, hi 와 what's up이라는 메시지를 보낼 때, 그들은 순서대로 what's up, hello, hi를 받을 것이다. 많은 시스템에서 예상되는 행동은 순서를 보존하여 송수신한 메시지의 순서를 일치하게 하는 것이다. 이 문제에서는, 해야할 것은 임의의 순서대로 메시지를 보내고 있는 네트워크 프로토콜의 최상층보다..
[Hackerrank] 33. Overloading Ostream Operator 33. Overloading Ostream Operator [ 난이도: Medium | 분야: Debugging ] 1. 과제 이번 챌린지에서 해야할 것은
[Hackerrank] 32. Multi Level Inheritance 32. Multi Level Inheritance [ 난이도: Easy | 분야: Inheritance ] 이번 챌린지에서는 Inheritance-Introduction의 연장선에 있는 챌린지다. 이 문제를 풀기 전에 반드시 이전 챌린지를 풀고 오는 것을 추천한다. 이전 문제에서, 상속에 대해 배웠고 base 클래스의 멤버 함수들을 derived class에서 사용하는지에 대해 배웠다. 이번 챌린지에서는, 다중 상속에 대해 배울 것이다. 클래스 A라는 base 클래스가 있고 클래스 A를 derive한 클래스 B와 클래스 B를 derive한 클래스 C가 있다고 가정하자. 우리는 클래스 C의 객체를 만든다면, 클래스 A와 클래스 B의 멤버를 사용할 수 있다. 그렇기에 이 메커니즘을 다중 상속이라고 한다.(B..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 02. 명명법 / 콘솔로그 / 문자열 보간법 02. 명명법 / 콘솔로그 / 문자열 보간법 이름짓기 규칙 - Lower Camel Case: function, method, variable, constant ex) someVariableName - Upper Camel Case: type(class, struct, enum, extension ...) ex) Person, Point, Week - 대소문자를 구분한다. 콘솔로그 남기기 print: 단순 문자열을 출력한다. dump: 인스턴스의 자세한 설명(description 프로퍼티)까지 출력한다. 문자열 보간법 - String Interpolation - 프로그램 실행 중 문자열 내에 변수 또는 상수의 실질적인 값을 표현하기 위해 사용한다. - \() import Swift let age: Int..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 01. 강좌소개 ★ 본 포스트는 네이버 부스트코스의 "IOS 프로그래밍을 위한 스위프트 기초" 강의에 기반하여 작성되었습니다. 1단원 01. 강좌소개 코스 수강 대상 - 프로그래밍에 대한 기초지식이 있는 컴퓨터관련 전공생 - 다른 언어를 사용해 본 프로그래머 - (객체지향) 프로그래밍 경험자 Swift 사용환경 - macOS - Ubuntu Swift - Apple - Open Source - macOS, Ubuntu Expressive Swift라는 언어는 표현력이 매우 좋은 언어다. 즉, 문법 표현이 다양하다. → 전부 배울 순 없다. Reference - Swift Programming Language Guide [Apple Developer / iBooks] - Swift API Design Guidelines ..
[Hackerrank] 07. Print Function 07. Print Function [ 난이도: Easy | 분야: Introduction ] 내장된 코드 stub는 STDIN으로부터 정수 n을 읽는다. 어떤 문자열 메소드를 사용하지 않고 다음을 출력해라: 123 ... n "..."은 두 수의 사잇수를 표현한 것이다. 예시 n = 5일 때 12345를 출력한다. Input Format 첫 번째 줄은 정수 n을 포함한다. Constraints n은 1보다 크거나 같고 150보다 작거나 같다. Output Format 공백 없이 1부터 n까지 정수들을 출력해라. 입력 예시0 3 출력 예시0 123 문제 if __name__ == '__main__': n = int(input()) 더보기 정답 if __name__ == '__main__': n = int(..
[Hackerrank] 06. Write a function 06. Write a function [ 난이도: Medium | 분야: Introduction ] 윤일이라고 불리우는 날이 4년에 한 번씩 추가된다.(2월 29일) 이렇게 수정하는 이유는 실제로 지구의 1년은 약 365.25일이기 때문이다. 윤년에는 윤일을 포함한다. 그레고리력에는 윤년을 파악하기 위한 세 가지 규칙이 있다: 년도가 4로 딱 떨어지게 나누어진다면 윤년이지만 100으로 딱 떨어지게 나누어지면 윤년이 아니다. 하지만, 400으로 나누어질 때는 윤년이다. 이 말을 좀 더 쉽게 설명하면 2000과 2400년은 윤년이지만 1800, 1900, 2100, 2200, 2300 그리고 2500은 윤년이 아니다. Tasks 주어진 년에 대해, 윤년인지 파악하라. 만약 윤년이라면, Bool 로 True를..
[Hackerrank] 05. Loops 05. Loops [ 난이도: Easy | 분야: Introduction ] Task 주어진 코드는 STDIN으로부터 정수 n을 stub로 읽는다. 모든 음수가 아닌 n보다 작은 정수 i에 대해 제곱수를 출력하라. 예시 n = 3에서 음수가 아닌 정수들은 [0, 1, 2]이고 이것들의 제곱수를 각 줄에 표시하면 0 1 4 입력 형식 첫 번째 단일 줄은 오직 정수 n을 담고 있다. 제약 n은 1보다 크거나 같고 20보다 작거나 같다. 출력 형식 n개의 줄을 출력하고, 각 줄은 각 i에 대응한다. 입력 예시0 5 출력 예시0 0 1 4 9 16 문제 if __name__ == '__main__': 더보기 정답 if __name__ == '__main__': n = int(input()) for i in ra..
[Hackerrank] 04. Python: Division 04. Python: Division [ 난이도: Easy | 분야: Introduction ] Task 주어진 코드 stub에서는 STDIN으로 a와 b 두 정수를 읽는다. 두 줄을 출력하는 로직을 추가하라. 첫 번째 줄은 a//b의 결과를 가지고 있고 두 번째 줄은 a/b의 결과를 가지고 있다. 반올림과 포맷을 정할 필요는 없다. 예제 a = 3 b = 5 - 정수 나눗셈 결과는 3/5 = 0이다. - 소수 나눗셈 결과는 3/5 = 0.6이다. 출력: 0 0.6 입력 형식 첫 번째 줄은 첫 번째 정수 a를 포함한다. 두 번째 줄은 두 번째 정수 b를 포함한다. 출력 형식 위에서 언급한 대로 두 줄을 출력해라. 입력 예시0 4 3 출력 예시0 1 1.33333333333 문제 if __name__ ==..