'코딩 문제 풀이' 카테고리의 다른 글
백준 - 2720 세탁소 사장 동혁 (0) | 2024.08.13 |
---|---|
백준 2566번 최댓값 (0) | 2024.08.12 |
백준-1654 랜선 자르기 (0) | 2024.08.12 |
백준 10994 별 찍기 - 19 (0) | 2024.08.09 |
백준 10990번 별 찍기 -15 (0) | 2024.08.08 |
백준 - 2720 세탁소 사장 동혁 (0) | 2024.08.13 |
---|---|
백준 2566번 최댓값 (0) | 2024.08.12 |
백준-1654 랜선 자르기 (0) | 2024.08.12 |
백준 10994 별 찍기 - 19 (0) | 2024.08.09 |
백준 10990번 별 찍기 -15 (0) | 2024.08.08 |
내 풀이
챗 GPT 보안
이진 탐색 과정에서 mid 계산 및 count 계산 시 큰 수가 나올 수 있으므로 long 타입을 사용해 오버플로우를 방지합니다.
백준 2566번 최댓값 (0) | 2024.08.12 |
---|---|
백준 - 2501 약수 구하기 (0) | 2024.08.12 |
백준 10994 별 찍기 - 19 (0) | 2024.08.09 |
백준 10990번 별 찍기 -15 (0) | 2024.08.08 |
백준 1008번 A/B (0) | 2024.08.02 |
24-08-14 13일차 Stack ,Queue, List , HashTable, Generic ,Linq (0) | 2024.08.14 |
---|---|
24-08-13 12일차 String클래스 ,try catch , collection , stack (0) | 2024.08.13 |
24-08-09 10일차 지역,전역변수 , 람다식 ,구조체, enum (0) | 2024.08.09 |
24-08-09 9일차 함수/메서드/재귀함수/overload (0) | 2024.08.08 |
24-08-07 8일차 배열 (0) | 2024.08.07 |
using System;
namespace ConsoleApp_FirstApp
{
class Program
{
static void Main(string[] args)
{
int[] lotto = new int[6];
int i, cnt = 0;
Random rand = new Random();
cnt = 0;
while (cnt < 6)
{
int r = rand.Next(1, 46); // 1 ~ 45의 난수 생성
for (i = 0; i < cnt; i++) // 중복 검색: 이미 생성된 개수 만큼만 반복
if (lotto[i] == r) break;
if (cnt == i) lotto[cnt++] = r;
}
Array.Sort(lotto); // 크기 순으로 정렬
for (i = 0; i < 6; i++)
Console.Write("{0,2} ", lotto[i]);
Console.WriteLine();
}
}
}
출처: https://coding-abc.kr/148 [coding-abc.kr:티스토리]
코드가 길때 접는법 #region 과 #endregion (0) | 2024.08.29 |
---|---|
C# Date Time 구조체 (0) | 2024.08.09 |
c# 가변배열 (선언 및 초기화 , 접근방법) (0) | 2024.08.07 |
int.Parse vs int.TryParse vs Convert.ToInt32 차이 (0) | 2024.07.30 |
유니티 다운로드 방법
1. 홈페이지 접속
창의적인 프로젝트 시작 및 Unity Hub 다운로드 | Unity
간단한 3단계로 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 사용하세요.
unity.com
1-1) 유니티에 회원가입을 하고 로그인 하신뒤에 라이선스를 Personal(무료)로 발급 받아주세요! [매우 쉬움]
2. 운영체제에 맞는 링크를 클릭해줍니다.
3. 파일이 다운로드되면 바로 실행시켜주고, 저는 다 기본적인 옵션으로 설치를 진행했습니다.
4. Unity Hub가 다운로드 되면 로그인 해주고 2024년 7월 29일 현재 기준 최신버전인 2022.3.39f1 버전 인스톨 해줬습니다.
옵션을 선택해서 다운로드 해줍니다.
저는 사진속에 체크돼있는 것들만 체크 했습니다.
다운로드중....(오래걸립니다)
5. 위에 옵션에 보시면 Microsoft Visual...블라블라 라고 적힌 최상단 옵션은 에디터입니다.
이 에디터를 같이 설치하기 때문에 유니티 설치 중간에 아래와 같은 화면이 나올텐데요
다른 건 몰라도 유니티를 사용한 게임 개발은 반드시 체크해서 인스톨해주시기 바랍니다. 나머지 옵션들은 읽어보시고 필요하신걸 받아주시면 됩니다.
6. 다운로드가 완료되면 이런창이 나올겁니다. 처음 다운로드를 하신 분들이라면 아무것도 나오지 않을텐데, 정상입니다.
이로써 유니티 다운로드는 완료했고 New project 버튼으로 원하는 프로젝트를 생성해서 사용하시면 됩니다.
normalized 하는 이유 (0) | 2024.08.29 |
---|---|
오브젝트 이동(2) (0) | 2024.08.29 |
오브젝트 이동(1) (0) | 2024.08.29 |
Time.deltaTime이란? (0) | 2024.08.29 |
유니티의 생명주기(Lifecycle) (0) | 2024.08.29 |
// 패턴 출력 과정에서 시간 초과로 인한 코드 변경
StringBuilder 사용: 대량의 데이터를 한 번에 출력하기 위해 StringBuilder를 사용합니다. 이렇게 하면 여러 번의 Console.Write 호출을 줄일 수 있습니다
//using System.Text; 적용해야됌
StringBuilder sb = new StringBuilder();
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
sb.Append(pattern[i, j]);
}
sb.AppendLine();
}
Console.Write(sb.ToString());
.
백준 - 2501 약수 구하기 (0) | 2024.08.12 |
---|---|
백준-1654 랜선 자르기 (0) | 2024.08.12 |
백준 10990번 별 찍기 -15 (0) | 2024.08.08 |
백준 1008번 A/B (0) | 2024.08.02 |
간단한 숫자 연산 (0) | 2024.08.01 |
전역변수,지역변수
24-08-13 12일차 String클래스 ,try catch , collection , stack (0) | 2024.08.13 |
---|---|
24-08-12 11일차 클래스 , random , is, as (0) | 2024.08.12 |
24-08-09 9일차 함수/메서드/재귀함수/overload (0) | 2024.08.08 |
24-08-07 8일차 배열 (0) | 2024.08.07 |
24-08-07 7일차 (0) | 2024.08.06 |
C#에서 날짜와 시간을 다루는 데 가장 중요한 역할을 하는 것이 DateTime 구조체입니다. 이 글에서는 DateTime 구조체의 기본 개념, 주요 구성 요소, 그리고 활용 방법에 대해 자세히 설명하겠습니다.
DateTime 구조체는 .NET 프레임워크에서 날짜와 시간을 표현하는 데 사용되는 구조체입니다. 이를 통해 날짜 및 시간 정보를 저장하고 조작할 수 있으며, 다양한 날짜와 시간 관련 작업을 간편하게 수행할 수 있습니다.
DateTime 구조체는 다음과 같은 주요 속성을 가지고 있습니다:
DateTime 구조체를 생성하는 방법은 여러 가지가 있습니다. 주로 현재 날짜와 시간을 가져오거나, 특정 날짜와 시간으로 초기화할 수 있습니다.
현재 날짜와 시간 가져오기:
특정 날짜와 시간으로 초기화하기:
DateTime 구조체는 날짜와 시간을 쉽게 조작할 수 있는 다양한 메서드를 제공합니다. 주로 날짜를 더하거나 빼는 작업이 자주 사용됩니다.
날짜 추가 및 빼기:
시간 추가 및 빼기:
DateTime 구조체는 날짜와 시간을 비교할 수 있는 다양한 메서드를 제공합니다.
비교 작업:
DateTime 구조체는 날짜와 시간을 문자열로 변환하거나 문자열을 날짜와 시간으로 변환하는 기능을 제공합니다.
문자열로 변환하기:
문자열을 날짜로 변환하기:
서식 지정:
C#의 DateTime 구조체는 날짜와 시간을 처리하는 데 필수적인 도구입니다. 다양한 메서드와 속성을 통해 날짜와 시간을 생성, 조작, 비교, 포맷팅할 수 있으며, 이를 통해 시간 기반의 다양한 작업을 효과적으로 처리할 수 있습니다. 날짜와 시간이 필요할 때, DateTime 구조체의 기능을 잘 활용해 보세요.
코드가 길때 접는법 #region 과 #endregion (0) | 2024.08.29 |
---|---|
C# Random이용해서 rotto 생성 (0) | 2024.08.12 |
c# 가변배열 (선언 및 초기화 , 접근방법) (0) | 2024.08.07 |
int.Parse vs int.TryParse vs Convert.ToInt32 차이 (0) | 2024.07.30 |
이 코드는 C#에서 델리게이트(delegate)와 람다 표현식(lambda expression)을 사용하여 함수를 정의하는 방법을 보여줍니다. Func<int, string> 타입의 델리게이트를 사용하고 있으며, 이 델리게이트는 정수(int)를 입력받아 문자열(string)을 반환하는 람다 표현식을 나타냅니다. 아래에 이 코드에 사용된 개념들을 설명하고 블로그에 적기 좋은 형식으로 정리해 보겠습니다.
C#에서는 델리게이트(delegate)를 사용하여 메서드나 익명 메서드를 변수처럼 다룰 수 있습니다. 델리게이트는 특정한 메서드 시그니처(매개변수와 반환 타입)를 가진 메서드 참조를 나타냅니다. 이번 포스트에서는 Func<T, TResult> 델리게이트와 람다 표현식을 사용하여 간단한 함수를 정의하는 방법을 살펴보겠습니다.
Func<T, TResult>는 C#에서 제공하는 기본 델리게이트 중 하나입니다. 이 델리게이트는 하나 이상의 매개변수를 받고, 결과를 반환하는 메서드를 나타낼 수 있습니다.
예를 들어, Func<int, string>은 정수형 매개변수를 받아 문자열을 반환하는 메서드를 참조할 수 있습니다.
람다 표현식은 익명 메서드를 간결하게 표현하는 방법입니다. 람다 표현식의 일반적인 형식은 다음과 같습니다:
람다 표현식을 사용하면 간단한 메서드를 짧고 명확하게 표현할 수 있습니다.
아래의 코드는 정수를 입력받아 그 값을 2배로 곱한 후, 그 결과를 문자열로 변환하는 함수를 람다 표현식을 이용하여 정의한 것입니다.
이제 위에서 정의한 함수를 호출해 보겠습니다.
위 코드에서 input 값으로 5를 전달하면, 람다 표현식에 의해 5 * 2는 10이 되고, 최종적으로 "10"이라는 문자열이 result에 저장됩니다.
Func<T, TResult> 델리게이트와 람다 표현식을 사용하면 간단한 함수를 매우 간결하게 정의할 수 있습니다. 이 방법은 코드의 가독성을 높이고, 불필요한 메서드 선언을 줄이는 데 유용합니다. C#에서 람다 표현식을 적극 활용하여 더 깔끔한 코드를 작성해 보세요!
///// 추가 정리
C#에서 람다식(Lambda Expression)은 익명 함수를 간결하게 표현하는 방식입니다.
람다식은 매개변수를 받아서, 특정 작업을 수행하고, 결과를 반환하는 함수를 정의하는 데 사용됩니다.
이러한 람다식은 특히 LINQ 쿼리, 컬렉션의 데이터 조작, 이벤트 처리 등에 많이 사용됩니다.
람다식 기본 구조
람다식의 기본 구조는 다음과 같습니다:
람다식의 기본구조
parameters: 함수의 매개변수 목록입니다. 매개변수가 하나인 경우 괄호를 생략할 수 있습니다.
=>: 람다 연산자, 'goes to'로 읽습니다.
expression_or_statement_block: 실행할 식이나 문 블록입니다. 단일 식인 경우 중괄호 {}를 생략할 수 있습니다.
람다식 예제
단일 식 람다식
단일 식 람다식
Func<int, int>은 입력과 출력이 모두 int 타입인 함수를 나타냅니다.
x => x * x는 x를 입력으로 받아 x * x 값을 반환하는 람다식입니다.
매개변수가 없는 람다식
매개변수가 없는 람다식
Action은 매개변수가 없고 반환 값도 없는 람다식을 나타냅니다.
() => Console.WriteLine("Hello, World!")는 인수가 없고 Hello, World!를 출력하는 람다식입니다.
여러 매개변수를 가진 람다식
매개변수가 여러개!
★Func<int, int, int>은 두 개의 int를 입력으로 받아 int를 반환하는 함수입니다.★
(x, y) => x + y는 두 개의 매개변수를 받아 더한 값을 반환하는 람다식입니다.
문 블록을 가진 람다식
{} 문 블록을 가진 람다식
이 예제에서는 여러 줄의 코드를 실행하기 위해 중괄호 {}를 사용했습니다.
return 키워드를 사용해 값을 반환할 수 있습니다.
람다식과 델리게이트
람다식은 델리게이트와 함께 자주 사용됩니다. C#에서는 Func<>, Action<>, Predicate<>와 같은 내장 델리게이트 타입을 활용하여 람다식을 델리게이트로 사용합니다.
Func<...> : 반환 값이 있는 델리게이트 타입입니다.
예: Func<int, int, string>은 두 개의 int를 입력받아 string을 반환하는 함수입니다.
Action<...> : 반환 값이 없는 델리게이트 타입입니다.
예: Action<int, string>은 int와 string을 입력받아 아무 것도 반환하지 않는 함수입니다.
Predicate<...> : 입력을 받아 bool을 반환하는 델리게이트 타입입니다.
예: Predicate<int>는 int를 입력받아 bool을 반환하는 함수입니다.
람다식의 활용
LINQ와 람다식
LINQ
Where 메서드는 Predicate<int> 델리게이트를 매개변수로 받아 리스트에서 짝수만 필터링합니다.
n => n % 2 == 0은 입력된 숫자가 짝수인지 확인하는 람다식입니다.
이벤트 처리와 람다식
Click 이벤트는 EventHandler 델리게이트를 사용합니다.
(sender, e) => Console.WriteLine("Button clicked!")는 이벤트가 발생했을 때 실행될 코드를 람다식으로 표현한 것입니다.
람다식의 장점
간결성: 코드가 짧고 간결해져서 가독성이 좋아집니다.
유연성: 코드 내에서 인라인으로 간단하게 익명 함수를 정의할 수 있어, 굳이 메서드를 정의하지 않아도 됩니다.
고차 함수와의 호환성: 다른 함수의 매개변수로 전달될 때 유용합니다.
람다식의 단점
디버깅 어려움: 너무 복잡한 람다식은 디버깅이 어렵고, 가독성을 해칠 수 있습니다.
복잡한 로직에는 부적합: 여러 줄의 복잡한 로직을 수행해야 하는 경우, 별도의 메서드를 정의하는 것이 더 적합할 수 있습니다.
람다식은 C#에서 매우 강력한 기능으로, 특히 컬렉션을 다루거나 이벤트를 처리할 때
유용하게 사용됩니다. 적절한 상황에서 활용하면 코드의 가독성과 효율성을 크게 향상시킬 수 있습니다.
.
C# 메서드(2) (0) | 2024.08.08 |
---|---|
c# 메서드(1) (0) | 2024.08.07 |
c# 배열의 선언과 초기화방법 (0) | 2024.08.07 |
c# 배열뒤집기 (0) | 2024.08.07 |
c# 배열 - array, list (0) | 2024.08.07 |
백준 - 2501 약수 구하기 (0) | 2024.08.12 |
---|---|
백준-1654 랜선 자르기 (0) | 2024.08.12 |
백준 10994 별 찍기 - 19 (0) | 2024.08.09 |
백준 1008번 A/B (0) | 2024.08.02 |
간단한 숫자 연산 (0) | 2024.08.01 |