본문 바로가기

분류 전체보기

(176)
[IOS 프로그래밍을 위한 스위프트 기초] 2단원 13. 구조체 2단원 13. 구조체 정의 Swift의 구조체는 타입을 정의하는 것이기 때문에 대문자 카멜케이스를 사용하여 정의한다. struct Sample { var mutableProperty: Int = 100 // 가변 프로퍼티 let immutableProperty: Int = 1000 // 불편 프로퍼티 static var typeProperty: Int = 100 // 타입 프로퍼티 // 인스턴스 메서드 func instanceMethod() { print("instance method") } // 타입 메서드 static fuc typeMethod() { print("type method") } } var → 가변, let → 불변 static을 붙이면 struct Sample에서 사용할 수 있는 타입 ..
[Hackerrank] 14. sWAP cASE 14. sWAP cASE [ 난이도: Easy | 분야: Strings ] 1. 과제 과제 설명 이번 과제에서는 문자열이 주어져 있고 swap cases를 수행하면 된다. 좀 더 쉽게 말하면, 모든 소문자들을 대문자로 바꾸고 대문자들은 소문자로 바꾸면 된다. 예시: Www.HackerRank.com -> wWW.hACKERrANK.COM Pythonist 2 -> pYTHONIST 2 함수 설명 아래의 에디터의 swap_case 함수를 완성해라. swap_case는 다음 파라미터를 받는다: - string s: 바꿔야할 문자열 반환값 - string: 수정한 문자열 입력 형식 단일 줄에 문자열 s를 가지고 있다. 제약 사항 문자열의 길이는 0보다 크고 1000보다 작거나 같다. 입력 예시 HackerRa..
[Hackerrank] 13. Tuples 13. Tuples [ 난이도: Easy | 분야: Basic Data Types ] 1. 과제 과제 설명 주어진 정수 n이 있고 n개의 공백으로 구분된 정수들이 입력으로 들어와서 튜플 t를 생성한다. 이 때 hash(t)를 연산하고 출력해라. 메모: hash()는 __builtins__ 안에 정의된 함수 중 하나이기 때문에 import 할 필요가 없다. 입력 형식 첫 번째 줄은 정수 n을 포함하고 있고, 이 정수는 튜블에서의 요소들의 수이다. 두 번째 줄은 n 개의 공백으로 구분된 정수들을 포함하고 있고 튜플 t의 요소들이다. 출력 형식 hash(t)의 결과를 출력해라. 입력 예시0 2 1 2 출력 예시0 3712081631934410656 문제 if __name__ == '__main__': n = ..
[Hackerrank] 12. Lists 12. Lists [ 난이도: Easy | 분야: Basic Data Types ] 1. 과제 과제 설명 list가 있다고 가정하자.(list = []) 아래의 활동을 하시오: 1. insert i e: i라는 위치에 정수 e를 넣기 2. print: 리스트 출력 3. remove e: 첫 번째 정수 e를 제거하기 4. append e: 리스트 끝에 정수 e 넣기 5. sort: 리스트 정렬하기 6. pop: 리스트의 마지막 요소 꺼내오기 7. reverse: 리스트 반전 리스트를 초기화하고 n개 줄의 명령어를 따르는 n개의 값을 읽어라. 각 커맨드는 위의 7종류 중 하나다. 각 커맨드를 순서대로 읽어내고 리스트에서 올바르게 동작해라. 예제 N = 4 append 1 append 2 insert 3 1 ..
[Hackerrank] 11. Finding the percentage 11. Finding the percentage [ 난이도: Easy | 분야: Basic Data Types ] 1. 과제 과제 설명 주어진 코드 stub는 딕셔너리 안에 포함되어 있는 키/값을 읽어온다.(name:[marks]) marks의 평균을 구하고, 소수 두 자리까지 표현하라. 예제 marks의 키:값 쌍은 'alpha': [20,30,40] 'beta': [30,50,70] query_name = 'beta' query_name은 'beta'이므로 베타의 평균 점수는 (30+50+70)/3 = 50.0이다. 입력 형식 첫 번째 줄은 학생들의 수를 나타내는 정수 n을 나타낸다. 다음 n개의 줄은 공백으로 구분된 학생의 이름과 점수들을 나타낸다. 마지막 줄은 query_name을 포함하고 있고,..
[Hackerrank] 40. Overload Operators 40. Overload Operators [ 난이도: Easy | 분야: Other Concepts ] 1. 과제 과제 설명 Complex라는 클래스가 다음과 같이 주어져 있다: class Complex { public: int a,b; }; 연산자들은 특별한 이름의 정규 함수인 operator function으로 오버로드 되어 있다. 이 함수의 이름은 오버로드된 연산자 기호 뒤에 파라미터를 붙이는 것으로 정의된다. 구문은 다음과 같다: type operator sign (parameters) { /* ... body ... */ } Complex 클래스에서는 + 연산자와
[Hackerrank] 39. Operator Overloading 39. Operator Overloading 1. 내용 정리 클래스는 C++에서 새로운 타입을 정의한다. C++에서의 타입은 constructions와 assignments와 호환되는 것이 아닌 연산자에서도 가능하다. 예를 들어: int a=2, b=1, c; c = b+a; c의 값은 3일 것이다. 비슷하게, 클래스에서 또한 연산자 오버로딩을 통해 연산 기능을 수행할 수 있다. 연산자는 특별한 이름의 정규 함수인 연산자 함수에 의해 오버로드 된다. 이들 이름은 오버로딩된 연산자 기호를 따라 연산자 키워드로 시작된다. 양식은 다음과 같다: type operator sign (parameters) { /*... body ...*/ } 2. 과제 main() 함수에는 두 개의 행렬를 만드는 입력이 있고 이들..
[Hackerrank] 10. Nested Lists 10. Nested Lists [ 난이도: Easy | 분야: Basic Data Types ] 1. 과제 반의 N명 학생들의 각각의 이름과 성적이 주어지고 이를 nested list에 저장한 후 성적이 두 번째로 낮은 학생의 이름을 출력하라. 주의: 성적이 두 번째로 낮은 학생이 여러 명이라면 알파벳 순으로 이름을 정렬한 후 각각 별도의 줄에 이름을 출력하라. 예시 records = [["chi",20.0],["beta",50.0],["alpha",50.0]] 성적을 순서대로 나열하면 [20.0, 50.0]이어서, 두 번째로 낮은 성적은 50.0이다. 이 경우, 해당하는 학생이 두 명이 있고 이를 리스트로 표현하면 다음과 같다: ["beta", "alpha"] 알파벳 순으로 정렬한 다음 출력하면 다음과..
[Hackerrank] 09. Find the Runner-Up Score! 09. Find the Runner-Up Score! [ 난이도: Easy | 분야: Basic Data Types ] 1. 과제 설명 대학 스포츠 데이에서 참가자들의 점수 시트가 주어질 때 runner-up score를 찾아야 한다. 시트에는 n개의 점수들이 있다. 리스트에 이 데이터를 저장하고 runner-up 데이터를 찾아라! 입력 형식 첫 번째 줄은 정수 n을 포함하고 있다. 두 번째 줄은 n개의 정수를 정수를 가진 배열 A[]를 표현하고 있다. 각 요소들은 공백으로 구분되어 있다. 제약 사항 n은 2보다 크거나 같고 10보다 작거나 같다. A[i]는 -100보다 크거나 같고 100보다 작거나 같다. 출력 형식 runner-up score를 출력하라. 입력 예시0 5 2 3 6 6 5 출력 예시0..
[Hackerrank] 08. List Comprehensions 08. List Comprehensions [ 난이도: Easy | 분야: Basic Data Types ] 1. 과제 과제 설명 리스트 비교에 대해 배워보자! 입력으로 정수 x, y 그리고 z가 주어지고 차원을 나타내는 정수인 n과 함께 제공된다. i+j+k가 n과 같지 않도록 하는 3차원 좌표 (i,j,k)를 출력해라. 여기서 i는 0보다 크거나 같고 x보다 작거나 같고, j는 0보다 크거나 같고 y보다 작거나 같고 k는 0보다 크거나 같고 z보다 작거나 같다. 공부를 위해 다중 루프를 사용하는 대신 List Comprehension을 사용하라. 예시 x = 1 y = 1 z = 2 n = 3 가능한 [i,j,k]는: [[0,0,0],[0,0,1],[0,0,2],[0,1,0],[0,1,1],[0,1,..