Programming/프로그래머스
[프로그래머스] 평균 구하기
[프로그래머스] 평균 구하기
2020.10.09def solution(arr): temp = 0 num = len(arr) for i in arr : temp += i return temp / num
[프로그래머스] 핸드폰 번호 가리기
[프로그래머스] 핸드폰 번호 가리기
2020.10.09문제에서는 문자열 s가 주어지고, 뒷 4자리를 제외한 문자들을 *로 처리한다. def solution(phone_number): temp = len(phone_number) return '*' * (temp - 4) + phone_number[temp-4:] 먼저 문자열의 길이를 파악하고, *의 개수를 temp - 4로 정해, 마지막 4자리를 제외한 나머지 문자열을 *로 변환한다. 그후 슬라이싱을 이용해 뒷 4자리를 추가해 준다.
[프로그래머스] 나누어 떨어지는 숫자 배열
[프로그래머스] 나누어 떨어지는 숫자 배열
2020.10.09def solution(arr, divisor): result = [] count = 0 Fail = [-1] for i in arr : if i % divisor == 0 : result.append(i) else : count += 1 print(count) if len(arr) == count : return Fail return sorted(result) 먼저 원소중 divisor로 나눠지는 것들을 result 리스트에 담고, 그렇지 않다면 count의 개수를 증가시킨다. 그후, 원소의 개수와 count의 개수가 같다면, 나누어지는것들이 없다는 뜻이기에 -1을 반환한다.
[프로그래머스] 문자열 내 p와 y의 개수
[프로그래머스] 문자열 내 p와 y의 개수
2020.10.09def solution(s): p = s.count('p') P = s.count('P') P_num = p + P y = s.count('y') Y = s.count('Y') Y_num = y + Y if P_num == Y_num : return True else : return False count 함수를 통해 p와 P, y와 Y의 개수를 찾고, 조건식을 이용해 결과값을 반환한다.
[프로그래머스] 2016년
[프로그래머스] 2016년
2020.10.07def solution(a, b): from datetime import date Month = a Day = b week = ['MON','TUE','WED','THU','FRI','SAT','SUN'] result = week[date(2016,Month,Day).weekday()] return result 다른 사람들의 풀이를 보니 사전을 이용하는 방법도 있다. def getDayName(a,b): day_name = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED'] month_dict = { "1":31, "2":29, "3":31, "4":30, "5":31, "6":30, "7":31, "8":31, "9":30, "10":31, "11":30, "12"..
[프로그래머스] 문자열 다루기 기본
[프로그래머스] 문자열 다루기 기본
2020.10.06def solution(s): if len(s) == 4: if s.isdigit() == True: return True else : return False elif len(s) == 6: if s.isdigit() == True: return True else : return False else : return False isdigit 함수를 통해서 문자열이 숫자로만 이루어졌는지 확인할수 있다.
[프로그래머스] 두 정수 사이의 합
[프로그래머스] 두 정수 사이의 합
2020.10.06def solution(a, b): if a == b: return a else: if a > b : a, b = b, a return sum(range(a,b+1)) a와 b의 값이 같다면, a를 반화해주고, 그렇지 않다면, 먼저 a와 b가 어떤 관계인지 알아야 한다. 만약 a의 값이 b보다 크게 될경우, 작은 수를 앞에 놔줘야 하므로, a, b = b, a를 통해서 위치를 바꿔주고, sum함수를 통해서 두 정수 사이의 값들을 더해준다.
[프로그래머스] 가운데 글자 가져오기
[프로그래머스] 가운데 글자 가져오기
2020.10.06가운데 글자를 반환하는 함수를 작성해 보자. 먼저 문자열의 길이를 len 함수를 통해서 파악한 수, 짝수개인지 홀수개인지 확인하기 위해서 연산을 진행했다. value = num % 2 if value == 1: number = int(num / 2) result = s[number] return result else : number = int(num / 2) result = s[number - 1] + s[number] return result 만약에 홀수개이라면, number의 문자열 길이를 2로 나누고, 그 나눈값의 몫의 정수형을 되돌려준다. 하지만, 짝수개라면, 두글자를 반화해야하므로, 몫에서 1을 뺀값과 몫을 되돌려준다.
[프로그래머스] 서울에서 김서방 찾기
[프로그래머스] 서울에서 김서방 찾기
2020.10.06문제에서는 리스트를 주어지고, 그 리스트 안에는 무조건 김서방이 존재한다고 한다. 파이썬에서는 리스트에 특정값이 있다면, index 함수를 이용해서 어느 위치에 있는지 알수 있다. 다른 사람의 풀이를 보면, 이렇게 하는 방법도 있다고 한다.