핀아의 저장소 ( •̀ ω •́ )✧

22일차(2020-12-07) 본문

Computer Science/코딩테스트_Python

22일차(2020-12-07)

_핀아_ 2020. 12. 7. 21:09

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
= "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
= 5
= 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 = [312931303130313130313031
    days = ['FRI''SAT''SUN''MON''TUE''WED''THU'
    return days[(sum(months[:a-1])+b-1)%7]
 
print(getDayName(524))
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