IT/TIL(127)
-
20240206_멀쩡한 사각형(프로그래머스)
오늘의 TIL은 프로그래머스의 문제인 멀쩡한 사각형에 관한 내용이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대해서 설명하면 가로의 길이가 W cm, 세로의 길이가 H cm인 직사각형 종이가 있을 때, 이 직사각형을 이루는 1cm X 1cm의 정사각형이 꽉 차 있을 때, 이 종이의 대각선 꼭지점 2개를 잇는 방향으로 잘라놓았을 때, 이 종이에서 사용할 수 있는 1cm X 1cm의 정사각형의 개수를 찾는 문제이다. 제한..
2024.02.06 -
20240205_SOLID원칙
오늘의 TIL은 저번주의 객체지향과 관련된 내용으로 SOLID 원칙에 관한 내용이다. SOLID 원칙 SOLID 원칙이란 객체지향 프로그래밍 설계 원칙으로, 유지 보수가 가능하고 확장 가능한 소프트웨어를 만들기 위해 사용하는 원칙이다. 1. S : 단일 책임 원칙(Single Responsibility Principle) 하나의 클래스는 하나의 책임만 가져야 한다는 원칙이다. 각 클래스는 한 가지 목적을 위해 존재하고, 변경의 이유는 하나이어야 한다는 뜻이다. 하나의 클래스에 너무 많은 기능을 갖게 한다면 해당 클래스에 대한 의존도가 강해지게 되므로 연결되 기능이 너무 많아지게 된다면 해당 기능들을 총괄하는 클래스를 만들고, 각 기능들을 각각의 클래스로 만들어서 관리하도록 작업해야한다. 예를 들어서 Pl..
2024.02.05 -
20240204_마법의 엘리베이터(프로그래머스)
오늘의 TIL은 프로그래머스의 문제인 마법의 엘리베이터에 관한 내용이다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대해서 설명하면 한 번 누르면 10의 n제곱(n은 0 이상인 정수)만큼 위 아래로 움직이는 엘리베이터 버튼이 있을 때, 현재 층수에서 0층(현재 층수에서 더해서 0이 되는 값)으고 가려고 하는데 가장 적게 버튼을 눌러서 가는 방법을 찾는 함수를 만드는 것이 문제이다. 우선 통과한 답은 아래와 같다. 더보기..
2024.02.05 -
20240203_최종프로젝트 트러블슈팅
오늘의 TIL은 최종프로젝트의 중간 발표에서 사용할 트러블 슈팅에 대한 내용이다. 중간 발표에서 사용할 자료를 정리하면서 이번 프로젝트를 겪으며 생겼던 문제와 이를 해결한 진행사항들에 대한 기록이다. 내가 프로젝트에서 맡은 부분은 게임의 맵과 관련된 부분으로 2D 플랫포머 메트로베니아류의 게임으로 맵과 관련하여 구현할 부분이 많았다. 이 과정에서 마주했던 문제들을 몇가지 기록한다. 1. 맵에서의 전장의 안개 구현 여기서 전장의 안개로 표현한 내용은 플레이어가 아직 플레이어가 탐험하지 않은 지역으로, 메트로베니아류의 게임의 특성상 미지의 영역을 탐험하며 새로운 기술, 아이템 등을 획득해야 하므로 게임을 시작하자마자 모든 지역이 밝혀져있다면 게임성이 떨어지기 때문에 필요하다고 생각하였다. 시도한 방법 1번 ..
2024.02.03 -
20240202_객체지향의 특징
오늘의 TIL은 어제에 이어진 내용으로 객체지향에 대한 내용이다. 객체지향이란 객체지향이란 아래에서 서술할 객체지향 프로그래밍보다는 좀 더 광범위한 개념으로, 데이터와 기능을 객체라는 단위로 조직화하는 것을 포함한 디자인 및 개발의 철학이다. 다시말해서 객체지향과 객체지향 프로그래밍은 엄밀히 말하면 조금의 차이가 있지만, 게임 개발의 영역에서는 두 단어가 거의 같은 의미로 사용된다고 할 수 있다. 객체지향 프로그래밍(Object-Oriented Programming, OOP) 객체지향 프로그래밍은 프로그래밍을 하는 과정에서 '객체'를 중심으로 프로그램을 설계 및 개발하는 것을 말한다. 다시 말해서 여러 독립적인 부품들을 조합해서 하나의 프로그래밍을 완성하는 방법을 말한다. 예를 들어서 자동차를 만든다고 ..
2024.02.03 -
20240201_클래스와 객체
오늘의 TIL은 C#에서 다루는 기본적인 CS 지식에서 중요하다고 생각되는 클래스와 객체에 대한 내용이다. 클래스와 객체는 객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 핵심 개념 중 하나이다. 클래스(Class) 클래스란 객체를 생성하기 위한 템플릿으로 객체의 상태를 정의하는 필드와 객체의 행동을 정의하는 메서드를 포함한다. 예를 들어 자동차를 생각해보면, 자동차의 클래스는 자동차의 특성(제조사, 모델, 색상 등)을 필드로 정의하고, 자동차가 수행할 수 있는 동작(운전하기, 정지하기 등)을 메서드로 정의할 수 있다. 이를 코드로 작성하면 아래와 같다. public class Car { public string maker; public string model; pub..
2024.02.01