본문 바로가기

프로그래밍 언어/Python

(20)
[Hackerrank] 19. String Validators 19. String Validators [ 난이도: Easy | 분야: Strings ] 1. 과제 과제 설명 기본 데이터에 대해 파이썬은 내장 문자열 검증 메소드가 있다. 만약 문자열이 알파벳, 숫자, 디지털 숫자 등이라면 검증할 수 있다. str.isalnum() 이 메소드는 모든 문자가 알파벳 또는 숫자인지 확인한다. (a-z, A-Z 그리고 0-9). >>> print 'ab123'.isalnum() True >>> print 'ab123#'.isalnum() False str.isalpha() 이 메소드는 모든 문자열이 알파벳으로만 이루어졌는지 확인한다 (a-z 그리고 A-Z). >>>print 'abcD'.isalpha() True >>>print 'abcd1'.isalpha() False s..
[Hackerrank] 18. Find a String 18. Find a String [ 난이도: Easy | 분야: Strings ] 1. 과제 과제 설명 이번 챌린지에서는, 사용자가 문자열과 하위문자열을 입력한다. 이 챌린지에서 하위문자열이 문자열 안에 얼마나 있는지 수를 세야 한다. 문자열을 탐색하는 것은 왼쪽에서 오른쪽으로 진행한다.(오른쪽에서 왼쪽으로 진행하는 것이 아님에 유의해라) 메모: 문자열 문자는 대소를 구분합니다. 입력 형식 입력의 첫 번째 줄은 원래 문자열을 포함하고 있다. 그 다음줄은 하위문자열을 포함하고 있다. 제약 사항 문자열의 길이는 1보다 크거나 같고 200보다 작거나 같다. 문자열 안의 각 문자들은 아스키문자다. 출력 형식 출력으로 보내는 정수는 하위문자열의 원래 문자열에 얼마나 겹쳐있는지 경우의 수를 나타낸다. 입력 예시 A..
[Hackerrank] 17. Mutations 17. Mutations [ 난이도: Easy | 분야: Strings ] 1. 과제 과제 설명 파이썬에서는 리스트는 수정 가능하고 튜플은 수정 불가능하다. 이 기능에 대해 아래 예시를 통해 살펴보자. 아래 예시에서는 수정할 수 없는 문자열이 주어지고, 문자열을 수정하는 것이 목적이다. 예시 string = "abracadabra" 이 때 문자열은 인덱스를 통해 접근할 수 있다: print string[5] 출력: a 여기서 값을 바꾸면 어떻게 될까요? >>> string[5] = 'k' Traceback (most recent call last): File "", line 1, in TypeError: 'str' object does not support item assignment 에러가 발생한다. ..
[Hackerrank] 16. What's Your Name? 16. What's Your Name? [ 난이도: Easy | 분야: Strings ] 1. 과제 과제 설명 다른 두 줄에 사람에 대한 성씨와 이름이 있다. 이번 과제에서는 이 정보들을 읽고 아래처럼 출력하는 것이다: Hello firstname lastname! You just delved into python. 함수 설명 print_full_name 함수를 완성하라. print_full_name은 아래 파라미터를 가진다: - string first: 이름 - string last: 성씨 출력할 것 - 문자열: 'Hello firstname lastname! You just delved into python' 양식에서 firstname에는 string first를 lastname에는 string la..
[Hackerrank] 15. String Split and Join 15. String Split and Join [ 난이도: Easy | 분야: Strings ] 1. 과제 과제 설명 파이썬에는, 구분기호로 문자열을 분리할 수 있다. 예시: a = "this is a string" a = a.split(" ") # a is converted to a list of strings print a 결과: ['this','is','a','string'] 반대로 문자열을 연결할 수도 있다. a = "-".join(a) print a 결과: this-is-a-string Task 주어진 문자열을 " "(공백)으로 분리시킨 뒤, - 하이픈으로 연결하라. Function Description 아래의 에디터에 split_and_join 함수를 완성하라. split_and_join은 다..
[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] 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"] 알파벳 순으로 정렬한 다음 출력하면 다음과..