1. 오늘의 알고리즘 코드 카타 - 개인정보 수집 유효 기간
답안 :
//필요내용 = 오늘 날짜, 유효기간을 비교하기
//예시 정보 = A라는 약관의 유효기간 6달이니까
//키값 = A와 밸류 6이라는 딕셔너리로 저장할 생각
//거의 안써본 구조체에 관해 알게 되었는데
//DateTime <= 날짜와 시간으로 한 순간을 나타내는 구조체
using System;
using System.Collections.Generic;
public class Solution {
public List<int> solution(string today, string[] terms, string[] privacies) {
List<int> answer = new List<int>{}; //답 추가하기 편하도록 배열에서 리스트로 변경
DateTime currentDate = DateTime.Parse(today);
//DateTime 구조체에서 제공하는 현재 날짜 기능
Dictionary<string, int> termsDict = new Dictionary<string, int>();
//약관을 받을 딕셔너리로 약관 종류(스트링 값)를 키로 기간을 밸류료 받는다
for (int i = 0; i < terms.Length; i++)
{
string[] termInfo = terms[i].Split(' ');
//스페이스를 기준으로 자르기
termsDict.Add(termInfo[0], int.Parse(termInfo[1]));
//딕셔너리에 유효기간 개월수를 넣고 int로 변환
}
for (int i = 0; i < privacies.Length; i++)
{
DateTime initDate = DateTime.Parse(privacies[i].Split(' ')[0]);
//첫 개인정보 수집 일자
int termDate = termsDict[privacies[i].Split(' ')[1]];
//비교할 유효기간
DateTime expireDate = initDate.AddMonths(termDate);
//첫 수집 일자 + 유효기간 달 수를 더해 종료일 계산
if (currentDate >= expireDate)
{
answer.Add(i+1);
}
}
return answer;
}
}
2. 오늘의 작업
오늘도 이것저것 버그 수정이 이어졌다.
위에 표지와 같이 스테이지 추가 작업도 진행하였고,
이것저것 잡일을 하다보니 벌써 하루가 지나버렸다.
정말 이럴 땐 시간이 너무 빠르다
또한 버튼 이외의 트리거가 필요해 레버를 만들었다.
레버는 머리와 몸통으로 나뉘어
몸통은 맵에 설치되어 있고
머리는 분리되어 있는 것을 들고와서 몸통에 내려놓으면 자동으로 연결되어
레버로서 작동하게 된다.
'TIL' 카테고리의 다른 글
[TIL]2024-4-19 / 74일차 - 최종 프로젝트 7주차 5일차 (0) | 2024.04.20 |
---|---|
[TIL]2024-4-18 / 73일차 - 최종 프로젝트 7주차 4일차 (1) | 2024.04.18 |
[TIL]2024-4-16 / 71일차 - 최종 프로젝트 7주차 2일차 (0) | 2024.04.16 |
[TIL]2024-4-15 / 70일차 - 최종 프로젝트 7주차 1일차 (0) | 2024.04.15 |
[TIL]2024-4-12 / 69일차 - 최종 프로젝트 6주차 5일차 (0) | 2024.04.12 |