Lv. 1, 38%
https://school.programmers.co.kr/learn/courses/30/lessons/150370
페어프로그래밍으로 작성한 코드:
def solution(today, terms, privacies):
answer = []
today_list = int(''.join(list(today.split(".")))) # 20200101
term = {} # {'Z': '3', 'D': '5'}
for te in terms:
term[te.split(" ")[0]] = te.split(" ")[1]
for i, pri in enumerate(privacies, start=1):
pri_date = list(map(int, pri.split(" ")[0].split('.'))) # 발급 날짜
pri_alpha = pri.split(" ")[1] # 발급 약관 종류
month = pri_date[1] + int(term[pri_alpha])
pri_date[0] += month // 12
month = month % 12
if month != 0:
pri_date[1] = month
else:
pri_date[0] -= 1
pri_date[1] = 12
pri_date[2] -= 1
if pri_date[2] == 0:
pri_date[1] -= 1
pri_date[2] = 28
if pri_date[1] == 0:
pri_date[0] -= 1
pri_date[1] = 12
pri_date2 = int(''.join(
str(pri_date[0]) + str(pri_date[1]).zfill(2) + str(pri_date[2]).zfill(2)))
if pri_date2 < today_list:
answer.append(i)
return sorted(answer)
zfill(n)
n 자리수만큼 모자란 자리에는 0으로 채워준다
"2".zfill(3) # 002
월, 일이 한 자리수인 경우에도 YYYYMMDD의 형태를 위해 zfill 함수를 사용
rjust(n, 문자)
"2".rjust(3, "0") # 002
"2".rjust(3, "a") # aa2
"2000".rjust(4, "0") # 2000
한 줄로 쓰신 분들도 계셨다
def solution(today, terms, privacies):return [i+1 for i,x in enumerate(privacies) if {x[0]:int(today[:4])*12*28+int(today[5:7])*28+int(today[8:10])-(int(x[2:])*28) for x in terms}[x[11]] >= int(x[:4])*12*28+int(x[5:7])*28+int(x[8:10])]
def solution(today, terms, privacies):
return [i + 1 for i in range(len(privacies)) if {i.split(' ')[0] : int(i.split(' ')[1]) * 28 for i in terms}[[i.split(' ')[1] for i in privacies][i]] <= [[int(today.split('.')[i]) - int(j.split(' ')[0].split('.')[i]) for i in range(3)][0] * 336 + [int(today.split('.')[i]) - int(j.split(' ')[0].split('.')[i]) for i in range(3)][1] * 28 + [int(today.split('.')[i]) - int(j.split(' ')[0].split('.')[i]) for i in range(3)][2] for j in privacies][i]]
'코딩테스트' 카테고리의 다른 글
2021 KAKAO_신규 아이디 추천_정규표현식 (0) | 2023.05.03 |
---|---|
코딩테스트 입문_겹치는 선분의 길이 (2) | 2023.05.03 |
코딩테스트 입문_find() ord() index() abs() (0) | 2023.04.09 |
코딩테스트 입문_점의 위치 구하기 (0) | 2023.04.07 |
코딩테스트 입문_dict.fromkeys() swapcase() title() 교집합 (0) | 2023.04.04 |