애니메이션 (7) 썸네일형 리스트형 [TIL]2024-4-09 / 67일차 - 최종 프로젝트 6주차 2일차 오늘 오전에는 개인적으로 처리해야 하는 일 때문에 알고리즘 코드카타는 패스 1. 오늘의 기술 면접 - 오버로딩과 오버라이딩의 차이점을 설명해주세요. 오버라이딩 - 상속 - 부모 클래스의 메소드를 자식 클래스에서 재정의 하여 사용 - 부모 클래스에서 메소드를 virtual로 선언하고 자식 클래스에서 override로 정의 해야함 오버로딩 - 메소드 -동일 한 이름의 메소드를 매개변수나 형식을 다르게 하여 여러 개 생성 -동일 목적의 메소드를 여러 방법으로 정의 할 때 사용 오버로딩 = 같은 이름을 가진 여러 메서드가 상황에 따라 기능 오버라이딩 = 같은 메서드를 자식에서 재정의 하여 기능 2. 오늘의 작업물 오늘은 중간에 특강과 인터넷 변경 문제로 2시간 가량 작업을 아예 못하는 시간이 있었기까지 하여 작.. [TIL]2024-4-08 / 66일차 - 최종 프로젝트 6주차 1일차 1. 오늘의 알고리즘 코드카타 - 햄버거 만들기 답안 : //시간복잡도 주의 using System; using System.Collections.Generic; public class Solution { public int solution(int[] ingredient) { int answer = 0; List list = new List(); foreach(int burger in ingredient) { list.Add(burger); if(list.Count >= 4) { if(list[list.Count - 4] == 1 && list[list.Count - 3] == 2 && list[list.Count - 2] == 3 && list[list.Count - 1] == 1) { answer++.. [TIL]2024-4-05 / 65일차 - 최종 프로젝트 5주차 5일차 1. 오늘의 알고리즘 코드카타 - 둘만의 암호 //처음에는 그냥 풀어보고 있다가 //다른 사람 풀이를 통해 훨씬 간소화 해봤다가 //Linq를 이용해 푸는 풀이를 또 보게 되었는데 //Linq를 이용하는 것이 가장 짧았다. 이곳에는 그 풀이를 참고하여 적는다. using System; using System.Linq; public class Solution { public string solution(string s, string skip, int index) { string answer = ""; string a = new string("abcdefghijklmnopqrstuvwxyz".Where(x => !skip.Contains(x)).ToArray()); // skip이 x값을 포함하지 않고 있다.. [TIL]2024-4-04 / 64일차 - 최종 프로젝트 5주차 4일차 오늘의 코드카타는 오전에 피곤하여 시간 내에 다 풀지 못해서 다음으로 미뤄졌다. 1. 오늘의 기술 면접 자료구조의 종류는 무엇이 있으며 각각 어떤 차이점이 있는지 설명해주세요 [TIL]2024-4-02 / 62일차 - 최종 프로젝트 5주차 2일차 오늘의 알고리즘 코트카타는 오전에 밀린 기술면접 문제를 푸느라 패스했다. 1. 오늘의 기술 면접 - 스택, 힙 메모리란 무엇이며 어떤 차이가 있는지 비교해서 설명해주세요. 스택 메모리는 함수의 호출과 관계되는 지역변수와 매개변수가 저장되는 메모리로 함수의 호출과 함께 할당되고 완료와 함께 소멸합니다. 스택 영역은 푸시로 저장, 팝으로 데이터를 내보내는 후입 선출의 방식에 따라 작동하여 메모리의 높은 주소에서 낮은 주소의 방향으로 할당됩니다. 장점은 힙에 비해 빠르고, 함수에 종료에 따라 소멸되므로 별다른 관리가 필요 없다. 힙 영역은 사용자에 의해 메모리 공간이 동적 할당 해제되는 영역으로 런 타임에 사용하는 메모리가 들어가게 됩니다. 스택과는 반대로 낮은 주소에서 높은 주소의 방향으로 할당됩니다. 런 .. [TIL]2024-4-01 / 61일차 - 최종 프로젝트 5주차 1일차 1. 오늘의 코드카타 - 문자열 나누기 답안 : //오랜만에 봐도 문제 설명이 쉽지않다. 예시가 없다면 이해하기 어려웠을 것 //어떤 형식으로 분해를 시켜야 할까 고민하다 너무 지저분한 코드가 되어가서 //다른 답안을 참고하게 되었다. 여기서는 인덱스를 세분화한 것과 //bool체크를 통한 것이 다른 점이다. //코드가 복잡해지던 원인이 새로운 문자의 시작지점을 판단하는 것이었는데 //이러한 체크가 더 깔끔해진 것이다. public class Solution { public int solution(string s) { int answer = 0; // 분해한 문자열의 개수 int sameIdx = 0; // 같은 문자열 개수 int diffIdx = 0; // 다른 문자열 개수 char word = ' .. [TIL]2024-3-14 / 56일차 - 최종 프로젝트 2주차 4일차 1. 오늘의 기술 면접 질문 - 가비지 컬렉션이란 무엇인지 설명해주세요 가비지 컬렉션은 더 이상 참조되지 않은 객체를 해제하여 메모리 누수를 방지하는 프로세스입니다. 모든 메모리를 순회하는 것보다 효율적인 관리를 위해 3세대의 힙 메모리로 나뉘어 관리되는데, 새로 만든 개체는 0세대 메모리에 할당되며 이것이 넘치게 되면 가비지 컬렉션이 일어나고 아직 참조되고 있는 객체들(라이브 객체들)은 오래된 순서대로 1세대 -> 2세대로 승격되는데 2세대로 갈 수록 할당되는 메모리가 커지게 됩니다. 만약 2세대 메모리도 넘치게 된다면 모든 세대에 대한 기비지 컬렉션이 실행되게 됩니다. 이때는 프로그램이 멈추며 가비지 컬렉션이 진행되기 때문에 이러한 일이 일어나지 않도록 유의해야 합니다. 가비지 컬랙션의 과정은 크게 .. 이전 1 다음