1. 2016년
코딩테스트 연습 - 2016년 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 2016년
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까
programmers.co.kr
def solution(a, b):
answer = ''
day = ['THU','FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED']
dates = [(1, 31), (2, 29), (3, 31), (4, 30), (5, 31), (6, 30), (7, 31), (8, 31), (9, 30), (10, 31), (11, 30), (12, 31)]
# Q1. 누적된 날짜가 며칠인가?
# A1. 셀프 계산
# A2. while문으로 계산
i = 0
accum = 0
while True:
if i == a-1:
print(i)
accum += b
break
else:
accum += dates[i][1]
print(accum)
i += 1
answer = day[(accum % 7)]
# Q2. 나머지 연산으로 계산하면, 어떤 인덱스가 나오는가?
# 금요일이 index 0으로 친다. 누적 날짜 % 7 - 1로 day에 대입하여 출력
return answer
2. 소수 찾기
코딩테스트 연습 - 소수 찾기 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 소수 찾기
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상
programmers.co.kr
def prime(n):
a = [False,False] + [True]*(n-1)
primes=[]
for i in range(2,n+1):
if a[i]:
primes.append(i)
for j in range(2*i, n+1, i):
a[j] = False
return len(primes)
def solution(n):
return (prime(n))
3. 3진법 뒤집기
코딩테스트 연습 - 3진법 뒤집기 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 3진법 뒤집기
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수
programmers.co.kr
def solution(n):
ternary = []
answer = 0
#3진수 변환
while True:
if n < 3:
ternary.append(f'{n}')
break
else:
ternary.append(f'{n%3}')
n //= 3
for i in range(0, len(ternary)):
a = int(ternary[i])
a *= 3 ** (len(ternary) - 1 -i)
answer += a
return answer
'Computer Science > 자료구조' 카테고리의 다른 글
[6.30] 신규 아이디 추천 알고리즘 (47/100) (0) | 2021.06.30 |
---|---|
[6.27] Level1 연습문제 모음 5 (43/100~46/100) (0) | 2021.06.27 |
[6.25] level 1 연습문제 모음 3(35/100~39/100) (0) | 2021.06.25 |
[6.24] Level 1 연습문제 모음 2(27/100~34/100) (0) | 2021.06.24 |
[6.23] level 1 연습문제 모음(22/100~26/100) (0) | 2021.06.23 |