본문 바로가기

TIL

(81)
[TIL]2024-3-05 / 49일차 - 심화 팀플 발표 날 오늘은 발표준비를 길게 하느라 알고리즘 코드카타를 풀지 못했다...! 발표를 하며 받은 피드백은 역시나 위에 적은 부분 처럼 어택 매니저에서 너무 많은 로직들을 다루고자 하였고 오히려 어지러워진 부분이었다. 발표용 그림으로 그린 것 처럼 '본인의 역할은 본인이' 처리하게 한다 라는 것이 생각보다 중요한 사실이었다. 각자가 각자의 역할을 처리해야만 오히려 확장을 할 때에 편리해지는 것이지 이를 관리하는 매니저를 짜는 것이 중요한 것이 아니었다는 것이 이번 프로젝트에서 느낀 가장 큰 교훈이 아닐까 한다. 또한 오늘 1기생들의 최종 프로젝트 이야기를 들으면서도 도움이 된 부분들이 있었다. 월요일 아침마다 그 주의 일정과 목표를 ETA를 찍어서 진행 / 매일 진행상황 설정과 공유, 의욕을 진취 시킬 수 있는 시..
[TIL]2024-3-04 / 48일차 - 심화 팀플 마지막날 1. 오늘의 코드카타 - 과일 장수 답안 : using System; using System.Linq; public class Solution { public int solution(int k, int m, int[] score) { int answer = 0; int index = m - 1; Array.Sort(score); Array.Reverse(score); for(int i = 0; i < score.Length / m; i++) { answer += score[index] * m; index += m; } return answer; } } Score를 Array.Sort와 Reverse를 통해 내림차순으로 바꿔주고 for문을 Score 의 길이를 m으로 나눈 만큼 돌리고, score[inde..
[TIL]2024-2-29 / 47일차 - 심화 팀플 4일차 1.오늘의 알고리즘 코드카타 - 카드 뭉치 답안 : //복잡하게 생각해서 찾아보니 매우 간단했다. public class Solution { public string solution(string[] cards1, string[] cards2, string[] goal) { string answer = "Yes"; int index1 = 0; int index2 = 0; for(int i = 0; i < goal.Length; i++) { if(index1 < cards1.Length && goal[i] == cards1[index1]) { index1++; continue; } else if(index2 < cards2.Length && goal[i] == cards2[index2]) { index2++..
[TIL]2024-2-28 / 46일차 - 심화 팀플 3일차 1. 오늘의 코드카타 - 2016년 답안 : //요일이 들어가 있는 배열 필요 //1년 366일(윤년)?으로 체크? //월마다 일수로 체크? //생각보다 기준 잡기와 계산 방식이 생각이 어렵다. public class Solution { public string solution(int a, int b) { //a = 월 b = 일 => 월을 받아서 그 날짜 수 만큼 먼저 총합일수 하고 + b를 해주기 string answer = ""; //금요일부터 시작하는 요일 배열, 요일은 7로 나눈 나머지의 배열 순으로 체크 가능할 듯 string[] day = new string[] { "FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"}; //1월부터 12월까지 해당 일 수 i..
[TIL]2024-2-27 / 45일차 - 심화 팀플 2일차 1. 오늘의 코드카타 - 명예의 전당(1) 답안 : //리스트를 만들어야할 것 //리스트.Count가==k일 때 리스트가 오름차 순이라면 //리스트[0]과 score[i]의 값을 비교하여 [i]가 더 높다면 //리스트에서 지우는 메소드 찾아보니 RemoveAt[0] //[i]를 Add하고 [i]가 [0]보다 높은 것 과는 별개로 다른 것들 보다 높을 수 있으니 //재정렬 한번 해야함 //answer를 score.Length로 잡아줘야 하는 듯 using System; using System.Collections.Generic; //리스트에 필요 using System.Linq; public class Solution { public int[] solution(int k, int[] score) { int..
[TIL]2024-2-26 / 44일차 - 심화 팀플 시작 1.오늘의 알고리즘 코드카타 - 콜라 문제 문제 길이 이게 맞아??? 답안 : //콜라의 빈병이 소진될 때 까지니까 for문 대신 while문 //n을 a로 나누기 = 받을 횟수 이기에 n/a*b //위 계산 이후 남은 빈 병의 갯수 계산 필요 using System; public class Solution { public int solution(int a/*줘야하는 양*/, int b/*받을 양*/, int n/*남은 양*/) { int answer = 0; while(n > a - 1) // a보다 적어질 때 까지 교환 { answer += (n / a) * b; n = (n / a) * b + n % a; } return answer; } } 문제 길이는 엄청 길지만, 답안은 짧다. 국어 문제를 푸..
[TIL]2024-2-23 / 43일차 - 디자인 패턴 1. 오늘의 알고리즘 코드카타 - 푸드 파이트 대회 답안 : //문제 설명 길이가 슬슬 과하다 //결국 양 선수 같은 양의 음식과 종류를 주는 것 //물 = 0은 항상 중간에 1회 //즉 2로 나눈 뒤 물까지 가는 수를 구하고 이를 뒤집어서 0 이후 더하면 같은 결과 //그렇기에 첫 for문에서 food의 갯수만큼 i를 돌려주고 나온 수를 2로 나누어주면 절반 완성 using System; using System.Linq; public class Solution { public string solution(int[] food) { string answer = ""; string str = ""; for(int i = 1; i < food.Length; i++) { for(int j = 0; j < foo..
[TIL]2024-2-22 / 42일차 - 심화 주차 개인과제 제출 1. 오늘의 알고리즘 코드카타 - 가장 가까운 글자 답안 : public class Solution { public int[] solution(string s) { //s의 길이만큼 int 배열 생성 int[] answer = new int[s.Length]; //기본 인덱스 넘버 int index = -1; for(int i = 0; i = 0; j--) { if(s[i] == s[j]) { index = i - j; break; } } answer[i] = index; } return answer; } } 2. 작업물 설명 이번에는 솔직..