본문 바로가기

프로그래밍 언어

(60)
[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..
[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__ ==..
[Hackerrank] 03. Arithmetic Operators 03. Arithmetic Operators [ 난이도: Easy | 분야: Introduction ] Task 제공된 코드는 STDIN으로부터 두 가지 정수를 입력받는다. a와 b. 세 줄을 코드를 추가하라: 1. 첫 번째 줄은 두 수의 합을 출력한다. 2. 두 번째 줄은 두 수의 차를 출력한다.(첫 번째 수 - 두 번째 수) 3. 세 번째 줄은 두 수의 곱을 출력한다. 예시 a = 3 b = 5 이 입력은 아래를 출력한다: 8 -2 15 입력 형식 첫 번째 줄은 첫 번째 정수 a를 포함하고, 두 번째 줄은 두 번째 정수 b를 포함한다. 제약 사항 a는 1보다 크거나 같고 10^10보다 작거나 같다. b는 1보다 크거나 같고 10^10보다 작거나 같다. 출력 형식 위에서 설명한 대로 세 줄을 출력한다...
[Hackerrank] 02. 파이썬 If-Else 02. 파이썬 If-Else [ 난이도: Easy | 분야: Introduction ] Task 주어진 정수 n에 대해 다음 행동들을 조건 별로 실행해라. - 만약 n이 홀수면, Weird를 출력하라. - 만약 n이 짝수가 2~5 사이의 수라면, Not Weird를 출력하라. - 만약 n이 짝수이고 6~20 사이의 수라면, Weird를 출력하라. - 만약 n이 짝수이고 20보다 큰 수이면 Not Weird를 출력하라. 입력 형식 양의 정수 n을 단일 줄에 포함하고 있다. 제약 사항 n은 1보다 크거나 같고 100보다 작거나 같다. 출력 형식 만약 수가 weird조건에 해당하면 Weird를 출력해라. 그렇지 않다면 Not Weird를 출력해라. 입력 예시0 3 출력 예시0 Weird 설명 0 n = 3이다..
[Hackerrank] 01. Say "Hello, World!" With Python 01. Say "Hello, World!" With Python [ 난이도: Easy | 분야: Introduction ] Python의 코드 예시 중 하나다: print("Hello, World!") 파이썬에서는 문자열을 쉽게 저장하고 stdout으로 출력한다: my_string = "Hello, World" print(my_string) 위의 코드는 Hello, World!를 출력할 것이다. 아래의 문제를 직접 해결해봐라. 입력 형식 이번 챌린지에서는 특별히 읽어야 할 입력은 없다. 출력 형식 stdout으로 Hello, World!를 출력하라. 출력 예시0 Hello, World! 문제 if __name__ == '__main__': 더보기 정답 if __name__ == '__main__': pr..
[Hackerrank] 31. Rectangle Area 31. Rectangle Area [ 난이도: Easy | 분야: Inheritance ] 1. 과제 이번 챌린지에서는, 사각형의 면적을 구해야 한다. 두 클래스를 만들자: Rectangle 사각형 클래스는 두 데이터 필드를 가지고 있다 - int 형식의 width와 height 이 클래스는 display() 메소드를 가지고 있고, 이 메소드는 사각형의 넓이와 높이를 공백으로 구분하여 출력한다. RectangleArea RectangleArea 클래스는 Rectangle 클래스를 상속 받는다. 이 클래스는 read_input() 메소드를 가지고 있는데, 이 메소드는 사각형의 넓이와 높이를 읽어온다. RectangleArea 클래스는 display() 메소드를 오버로드하여 사각형의 면적을 출력한다. 입력 ..