반응형
★ "왜?" 라는 질문을 스스로에게 하면서 학습하자.
0. 문제 풀이 순서
- 논리적 순서 확정
- 관련 카테고리 혹은 문제 끌어오기
- 필요한 자료연산 리스트업
- 이에 제일 유리한 자료구조 선택
- 구현
1. 설명
문제 링크 : https://www.codetree.ai/missions/5/problems/date-to-date?&utm_source=clipboard&utm_medium=text
문제 사진 :
문제 설명 : 11년 m1월 d1일에서 m2월 d2일 까지 몇 일의 시간이 흘렀는지 계산하는 문제이다.
나의 소스 코드 :
코드 설명 : 제 시간에 정상적으로 풀지 못했다는 것을 먼저 밝힌다. last_day에 m1 만큼 반복문을 돌며 값을 대입해주어야 하는데, 이 때 달마다 해당하는 일을 어떻게 차곡차곡 넣어줘야하지? 라는 의문이 들었다. (last_day += num_of_days[i]; 부분) 나 또한 대입 연산자(+=)를 이용해 값을 넣었지만, 비 정상적으로 큰 값이 나와서 결국 해설을 보았다.
알고봤더니 last_day, now_day를 선언 및 초기화 할 때 0의 값을 주지 않고 선언만 한 상태에서 값을 넣어서 생긴 문제였다. 다음에는 이런 실수를 하지 말아야지.
2. 시간
- 문제 풀이를 위해 설정한 시간 : 8분
- 실제 풀이 시 걸렸던 시간 : 10분
3. 질문
- 시간 복잡도 : 반복문을 2번(이전 달, 이번 달) 수행하였기 때문에 O(n)의 시간이 걸린다.
- 공간 복잡도 : 7개의 int 변수를 사용하였으므로 7n + 28의 값을 가진다. 따라서 입력 값에 따라 선형적으로 복잡도가 증/감 하기 때문에 O(n)이 걸린다.
- 어려웠던 부분 : 매 달의 일자만큼의 값을 어떻게 변수에 넣어줘야 하지? 고민을 했다.
4. 기타
- 최초 풀이 : 23.09.25
- 재 풀이 : 해당사항 없음
- 왜? : 해당사항 없음
반응형
'코딩 테스트 > 코드트리' 카테고리의 다른 글
[Novice Mid : 프로그래밍 연습] 시뮬레이션 : 날짜와 시간 계산 - 요일 맞추기 (1) | 2023.09.25 |
---|---|
[Novice Mid : 프로그래밍 연습] 시뮬레이션 : 날짜와 시간 계산 - DateTime to DateTime (0) | 2023.09.25 |
[Novice Mid : 프로그래밍 연습] 시뮬레이션 : 날짜와 시간 계산 - Time to Time (0) | 2023.09.25 |
[코드트리 챌린지] 9월 3주차 인증용 포스트 🥺.. (0) | 2023.09.25 |
[Novice Mid : 프로그래밍 연습] 정렬 : 객체 정렬 - 줄 세우기 2 (1) | 2023.09.22 |