coding_test/CodeTree

[코드트리 조별과제] 8/13 5주차 화요일 조별과제 레포트

CodeJin 2024. 8. 13. 22:47

본인은 5주차 화요일인 8/13부터 시작했기 때문에, 5주차부터 적는다. 최대한 매일 적어보겠다.

 

자잘한 문제는 적기 귀찮기도 하고, 테스트문제가 앞의 연습문제들의 총망라이기 때문에, 테스트 문제만 적는다.

 

Novice Mid

1. 함수 - 값을 반환하지 않는 함수

https://www.codetree.ai/missions/5/problems/find-the-least-common-multiple?&utm_source=clipboard&utm_medium=text

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

 

문제 풀이

더보기
from math import lcm
print(lcm(*map(int, input().split())))

 

파이썬에는 math 모듈에서 gcd와 lcm 함수를 지원한다. 구현하는 것도 좋지만, 사실 백준문제 풀면서 한두번 한것도 아니기 때문에 그냥 가져다 썼다. 또한, C++17부터는 std:: gcd와 std::lcm을 지원한다.

 

2. 함수 - 값을 반환하는 함수

https://www.codetree.ai/missions/5/problems/that-season-that-day?&utm_source=clipboard&utm_medium=text

 

문제 풀이

더보기
def yun(year : int) -> bool :
    if year % 100 == 0 and year % 400 != 0: 
    	return False
    elif year % 4 == 0:
    	return True
    else:
    	return False

y, m, d = map(int, input().split())
days = [31, 29 if yun(y) else 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

if  d > days[m - 1]:
	print("-1")
elif 3 <= m <= 5 :
	print("Spring") 
elif 6 <= m <= 8 :
	print("Summer") 
elif 9 <= m <= 11 :
	print("Fall") 
else :
	print("Winter")

 

윤년을 구분하는 문제는 유명하기도 하고, 해당 테스트 문제를 풀기 전에, 윤년을 구분하는 문제가 있기 때문에, 그 문제에서 작성한 함수를 가져와서 풀었다. 윤년일땐 2월의 일수를 늘려주면 된다.

 

확실히 유료로 서비스할만한 퀄리티인거 같다. 이런 사이트가 무료였으면 좋겠지만, 큰 욕심이겠지.

 

오늘 푼 모든 문제는 여기서 확인할 수 있다.

https://github.com/jin3811/codetree-TILs/tree/main/240813

 

codetree-TILs/240813 at main · jin3811/codetree-TILs

TILs for codetree(https://www.codetree.ai). Contribute to jin3811/codetree-TILs development by creating an account on GitHub.

github.com