핀아의 저장소 ( •̀ ω •́ )✧
22일차(2020-12-07) 본문
programmers.co.kr/learn/challenges
코딩테스트 연습
기초부터 차근차근, 직접 코드를 작성해 보세요.
programmers.co.kr
<문제1> 프로그래머스) 가운데 글자 가져오기
1
2
3
4
5
|
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
<제한사항>
s는 길이가 1 이상, 100이하인 스트링입니다.
|
cs |
<답안1>
1
2
3
4
5
6
7
8
9
10
|
s = "abcde"
#s = "qwer"
def solution(s):
if len(s) % 2 != 0:
return s[len(s) // 2]
else:
return s[(len(s) // 2)-1:(len(s) // 2)+1]
print(solution(s))
|
cs |
<문제2> 프로그래머스) 2016년
1
2
3
4
5
6
7
8
|
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요?
두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요.
요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT입니다.
예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요.
<제한 조건>
2016년은 윤년입니다.
2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)
|
cs |
<답안2>
1
2
3
4
5
6
7
8
9
10
11
|
a = 5
b = 24
def solution(a, b):
day=['MON','TUE','WED','THR','FRI','SAT','SUN']
adate = datetime.date(2016, a, b)
bdate = adate.weekday()
answer = day[bdate]
return answer
print(solution(a, b))
|
cs |
<답안2 - 다른 풀이>
1 2 3 4 5 6 | def getDayName(a,b): months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] days = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU'] return days[(sum(months[:a-1])+b-1)%7] print(getDayName(5, 24)) | cs |
'Computer Science > 코딩테스트_Python' 카테고리의 다른 글
24일차(2020-12-09) (0) | 2020.12.09 |
---|---|
23일차(2020-12-08) (0) | 2020.12.08 |
21일차(2020-12-04) (0) | 2020.12.04 |
20일차(2020-12-03) (0) | 2020.12.03 |
19일차(2020-12-02) (0) | 2020.12.02 |
Comments