코딩 블로그
-
[GodotEngine] Tutorial 2D Game - 3
해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용:) https://twd0622.tistory.com/81 [GodotEngine] 2D Game Tutorial - 2해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용 :) https://twd0622.tistory.com/79 [GodotEngine] 2D Game Tutorial - 1해당 내용 출처: https://docs.godotengine.org/en/stable/gettintwd0622.tist..
2024.12.16
-
[GodotEngine] Tutorial 2D Game - 4
해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용:) https://twd0622.tistory.com/86 [GodotEngine] Tutorial 2D Game - 3해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용:) https://twd0622.tistory.com/81 [GodotEngine] 2D Game Tutorial - 2해당 내용 출처 :) https://docs.godotengine.org/en/stable/getttwd0622.tisto..
2024.12.19
-
[C#] int에서 string로 변환 (int to string)
1. 단순 변환int의 ToString() 메서드를 사용하면 string으로 변환할 수 있다.int i = 3;string str = i.ToString();Console.WriteLine(str); // 3 2. 진법을 변환하면서 string으로 변환하기Covert클래스의 ToString 메서드를 사용하면 진법을 바꾸면서 string으로 변환할 수 있다.Convert.ToString(int, int) 형태로 두번째 매개변수에 변환할 진법을 숫자로 넣어주면 된다.2, 8 , 10, 16진수로 변환이 가능하다.int i = 6;string str = Convert.ToString(i, 2); // 6을 2진법으로 변환Console.WriteLine(str); // 110
2024.11.04
-
[C#][프로그래머스] JadenCase 문자열 만들기
프로그래머스 > 코딩테스트 연습 > 연습문제 > JadenCase 문자열 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12951 📒 문제JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한사항s는 길이 1 이상 200 이하인 문자열입니다.s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.숫자는 단어의 첫 문자로만 나옵니다.숫자로만 이루어진 단어는 없습니다.공백문자..
2024.11.01
-
[C#][프로그래머스] [PCCP 기출문제] 1번 / 동영상 재생기
프로그래머스 > 코딩테스트 연습 > PCCP 기출문제 > [PCCP 기출문제] 1번 / 동영상 재생기 https://school.programmers.co.kr/learn/courses/30/lessons/340213 📒 문제당신은 동영상 재생기를 만들고 있습니다. 당신의 동영상 재생기는 10초 전으로 이동, 10초 후로 이동, 오프닝 건너뛰기 3가지 기능을 지원합니다. 각 기능이 수행하는 작업은 다음과 같습니다. 10초 전으로 이동: 사용자가 "prev" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 전으로 이동합니다. 현재 위치가 10초 미만인 경우 영상의 처음 위치로 이동합니다. 영상의 처음 위치는 0분 0초입니다.10초 후로 이동: 사용자가 "next" 명령을 입력할 경우 동영상..
2024.10.28
-
[C#] Linq (Enumerable 클래스)
최근 수정: 2024.12.13Enumerable 클래스 내용 중 새로 알게되거나 사용했던 메서드들 기록하는 곳입니다. Enumerable 클래스Enumerable 클래스는 LINQ의 일부로 IEnumerable 인터페이스를 구현하는 컬렉션 클래스에 대한 LINQ 기능을 제공한다. 시퀀스시퀀스는 순서가 있는 일련의 데이터를 나타내는 추상적인 개념주요메서드Range([시작 인덱스], [길이]) : 일정한 숫자 범위의 시퀀스를 만든다. 첫번째 매개변수가 시작 숫자이고, 두번째 매개 변수는 생성하려는 시퀀스의 길이 이다.var sequence = Enumerable.Range(0, 10);foreach(var num in sequence){ Console.Write(num); // 0123456789} ..
2024.07.23
-
[C#] 열거형 Enum
열거형 Enum열거형은 서로 관련 있는 상수들의 집합을 정의한 것 이다. 숫자에 특정한 명칭을 붙여주어 의미를 쉽게 이해할 수 있게 하는 용도로 사용된다. 예를 들어 프로그램에서 사과, 바나나, 오렌지의 세 과일을 사용하고 싶은데 각각 0, 1, 2라는 숫자를 부여한다면 나중에 1이 무엇을 의미하는지 이해하기 어려울 수 있다. // 0 == apple, 1 == banana, 2 == orangeint[] fruit = { 0, 1, 2 }; 이럴 때 enum을 사용하면 보기 편한 코드를 작성할 수 있다.enum Fruit{ apple, // 0 banana, // 1 orange // 2}enum 사용법enum은 기본적으로 위에 Fruit 예시 처럼 enum 이름 { } 형태로 중..
2024.12.16
-
[C#] Enumerable.Union() 메서드
Enumerable.Union() 메서드두 시퀀스를 중복이 생기지 않게 합쳐준다.메서드 예제int[] arr = { 1, 2, 3, 4, 5 };int[] arr2 = { 1, 3, 5, 7, 9 };arr = arr.Union(arr2).ToArray();Console.WriteLine(string.Join(", ", arr)); // 1, 2, 3, 4, 5, 7, 9 1, 2, 3, 4, 5가 담긴 int array와 1, 3, 5, 7, 9가 담긴 int array를 합치면 중복이되는 1, 3, 5빼고 7, 9만 추가 되는 것을 확인할 수 있다. 다른 Enumerable 메서드 :) https://twd0622.tistory.com/14 [C#] Linq (Enumerable 클래스)최근 수정..
2024.12.13
-
[C#] Linq (람다식 메서드)
최근 수정: 2024.11.05Enumerable 클래스 중 람다식을 사용하는 메서드를 기록하는 곳입니다. 주요메서드Select() : 각 요소를 요청에 맞게 만들어 새로운 시퀀스를 만들어 준다. 예를 들면 각 요소의 타입을 변경한다던지, 특정 프로퍼티만 추출한다던지, 각 요소에 연산을 한다던지 등등string[] intStrs = { "123", "456", "789" };int[] answer = intStrs.Select(s => int.Parse(s)).ToArray(); // 각 요소를 정수로 바꾸기foreach (int i in answer) Console.Write(i + " "); // 123 456 789 Where() : 특정 조선을 만족하는 요소만 선택해서 새로운 시퀀스를 만든..
2024.11.05
-
[알고리즘] 힙 정렬 (Heap Sort)
현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념힙정렬은 힙이라는 데이터 구조를 사용하는 것이 특정이다. [자료구조] 힙 (Heap)오늘 공부한 내용은 힙(Heap)이다. 이제 점점 낮선 자료구조들이 나오기 시작한다.확실하게 이해하고 넘어가도록 해야겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀twd0622.tistory.com 먼저 힙에 모든 숫자를 삽입한다. 힙은 내림차순이 되도록 구성한다.내림차순 힙은 큰 값부터 순서대로 데이터를 꺼내는 성질이 있기 때문에 숫자를 역순으로 나열하면 정렬이 완료된다...
2024.09.09
최신 글
-
[GodotEngine] Tutorial 2D Game - 4
해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용:) https://twd0622.tistory.com/86 [GodotEngine] Tutorial 2D Game - 3해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용:) https://twd0622.tistory.com/81 [GodotEngine] 2D Game Tutorial - 2해당 내용 출처 :) https://docs.godotengine.org/en/stable/getttwd0622.tisto..
2024.12.19
-
[C#] OfType() vs CAST()
Enumerable.OfType()시퀀스 내의 형식과 일치하는 요소만 반환, 필터 기능이라고 보면됨일치하지 않는 요소가 있어도 예외를 발생 하지 않음object[] arr = { 1, "2", 3, "4", 5 };var ofTypeArr = arr.OfType();Console.WriteLine(string.Join(", ", ofTypeArr)); // 1, 3, 5int와 string 속성이 섞인 배열에서 int타입만 필터링 되었다.Enumerable.Cast() 시퀀스 내의 모든 요소의 형식을 타입으로 변환 시도만약 형 변환이 되지 않는 요소가 있을 경우 InvalidCastException 예외 발생 object[] arr = { 1, "2", 3, "4", 5 };var castArr = ar..
2024.12.19
-
[GodotEngine] Tutorial 2D Game - 3
해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용:) https://twd0622.tistory.com/81 [GodotEngine] 2D Game Tutorial - 2해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용 :) https://twd0622.tistory.com/79 [GodotEngine] 2D Game Tutorial - 1해당 내용 출처: https://docs.godotengine.org/en/stable/gettintwd0622.tist..
2024.12.16
-
[C#] 열거형 Enum
열거형 Enum열거형은 서로 관련 있는 상수들의 집합을 정의한 것 이다. 숫자에 특정한 명칭을 붙여주어 의미를 쉽게 이해할 수 있게 하는 용도로 사용된다. 예를 들어 프로그램에서 사과, 바나나, 오렌지의 세 과일을 사용하고 싶은데 각각 0, 1, 2라는 숫자를 부여한다면 나중에 1이 무엇을 의미하는지 이해하기 어려울 수 있다. // 0 == apple, 1 == banana, 2 == orangeint[] fruit = { 0, 1, 2 }; 이럴 때 enum을 사용하면 보기 편한 코드를 작성할 수 있다.enum Fruit{ apple, // 0 banana, // 1 orange // 2}enum 사용법enum은 기본적으로 위에 Fruit 예시 처럼 enum 이름 { } 형태로 중..
2024.12.16
-
[C#] Enumerable.Union() 메서드
Enumerable.Union() 메서드두 시퀀스를 중복이 생기지 않게 합쳐준다.메서드 예제int[] arr = { 1, 2, 3, 4, 5 };int[] arr2 = { 1, 3, 5, 7, 9 };arr = arr.Union(arr2).ToArray();Console.WriteLine(string.Join(", ", arr)); // 1, 2, 3, 4, 5, 7, 9 1, 2, 3, 4, 5가 담긴 int array와 1, 3, 5, 7, 9가 담긴 int array를 합치면 중복이되는 1, 3, 5빼고 7, 9만 추가 되는 것을 확인할 수 있다. 다른 Enumerable 메서드 :) https://twd0622.tistory.com/14 [C#] Linq (Enumerable 클래스)최근 수정..
2024.12.13
-
[C#] as, is 키워드
C#에서 형변환을 하기 위해서 캐스트 연산자를 사용한다. 캐스트 연산자 case 1.값을 변환할 때 사용되는 경우double d = 10.5;int i = (int)d;Console.WriteLine(d); // 10.5Console.WriteLine(i); // 10 캐스트 연산자 case 2.열거형에서 사용되는 경우enum City{ Seoul, Daejeon, Daegu, Busan}int busan = (int)City.Busan;Console.WriteLine(busan); // 3 캐스트 연산자 case 3.참조 형식의 형변환 경우private void button_click(object sender, EventArgs e){ MessageBox.Show((Butto..
2024.12.12
-
[GodotEngine] Tutorial 2D Game - 2
해당 내용 출처 :) https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 이전 내용 :) https://twd0622.tistory.com/79 [GodotEngine] 2D Game Tutorial - 1해당 내용 출처: https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 고도를 처음 공부하기 시작하면서 godotEngine에서 제공하는 2D게임 개발 튜로리얼을 보고 따라서 2D게임을 만들어 보twd0622.tistory.com 이번엔 이전 블로그 내용에 이어서 화면에서 움직일 플레이어를 만들어 보겠다.2장 플레이어씬 만들..
2024.12.11
-
[C#] 연산자 오버로딩 (Operator Overloading)
C#에는 연산자 오버로딩을 제공한다. 연산자 오버로딩이란?C#에서 제공하고 있는 연산자에 대해 기능을 다시 부여하는 것을 의미한다.기본 문법 형태는 public static [리턴속성] operator [연산자](매개변수1, 2) 이다. 예를 들어 이런 Person 이란 클래스가 있다고 가정을 할때 Person p1 = new Person();Person p2 = new Person();Console.WriteLine(p1 + p2); // Error 이런식으로 더하기를 하면 당연히 컴파일 오류가 발생할 것이다. 하지만 두 Person이 나이의 합을 반환하고 싶다면 어떻게 해야할까addPerson 이란 메서드를 만들어 addPerson(p1, p2) 이런식으로 사용 할 수 도 있지만두 사람의 나이가 아닌..
2024.12.11
-
[GodotEngine] Tutorial 2D Game - 1
해당 내용 출처: https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html 고도를 처음 공부하기 시작하면서 godotEngine에서 제공하는 2D게임 개발 튜로리얼을 보고 따라서 2D게임을 만들어 보았다.위 영상처럼 화면 모서리에서 스폰되는 몹들을 화살표 키보드를 통해 오랫동안 피하는 게임으로 프로젝트 생성부터 게임 제작 과정을 공부하면서 알게된 내용들을 내 나름대로 정리 해보려한다.1장 프로젝트 생성 및 기본 설정1-1 프로젝트 생성게임을 개발하기 위헤 먼저 프로젝트 생성을 해야한다.고도 편집기를 먼저 실행하면프로젝트 매니저가 실행되는데 여기서 만들기 버튼을 눌러준다. 프로젝트 이름을 설정해주고 '만들기 & 편집' 버..
2024.12.10
-
[C#] Enumerable.FirstOrDefault() 메서드
Enumerable.FirstOrDefault()Enumerable의 메서드 중 FirstOrDefault는 첫번째 값을 반환하거나 해당 시퀀스가 비어있다면 시퀀스 타입의 기본값을 반환한다.int의 기본값은 0, string의 기본값은 "" 이다.메서드 예제 1.string 형식의 a, b, c가 담긴 배열과 아무것도 들어있지 않은 int 배열을 이용해 FirstOrDefault 메서드를 사용해 보겠다.string[] strArr = { "a", "b", "c" };int[] intArr = new int[] { };string str1 = strArr.FirstOrDefault();int i1 = intArr.FirstOrDefault();Console.WriteLine(str1); // aConsol..
2024.12.10
-
[C#] ? 문법 (question mark)
다른 사람의 코드를 리뷰 하던 중 ? 가 사용되는 경우를 여럿 발견해서 한번 정리해 보았다. case1. 삼항연산자 ?대표적인 ? 문법으로 간단한 if else문을 한줄로 표현할 수 있다.조건식 ? 조건이 참인 경우 : 조건이 거짓인 경우;int i = 100;// i가 100 이상인 경우 1을 아니면 0을 반환int reuslt = i >= 100 ? 1 : 0;Console.WriteLine(reuslt); // 1 case2. type 뒤 ? (Nullable)변수를 선언할 때 타입에 따라 초기값이 지정 된다. 대표적으로 int는 0, string은 "" 이 초기값도 활용해야 할 경우 사용하면 좋은 문법이다. 해당 문법을 사용하지 않으면 기본적으로 변수에 null이 들어갈 수 없다.TYPE? 변수명..
2024.11.28
-
[C#][프로그래머스] N개의 최소공배수
프로그래머스 > 코딩테스트 연습 > 연습문제 > N개의 최소공배수https://school.programmers.co.kr/learn/courses/30/lessons/12953 📒 문제두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한사항arr은 길이 1이상, 15이하인 배열입니다.arr의 원소는 100 이하인 자연수입니다. 입출력 예arrre..
2024.11.28
-
[DB] SQL vs NoSQL
SQL은 사전에 정의된 스키마를 모델링하는 관계형 데이터베이스로 행과 테이블과 같은 구조화된 데이터를 관리할 수 있도록 하는 기존 접근 방식의 프로그래밍 언어이다. 반면 ‘Not Only SQL’의 약자인 NoSQL은 보다 유연한 비관계형 접근 방식을 제공하여 구조화되지 않은 데이터 또는 동적 데이터를 처리하는데 이상적이다. 프로젝트에 사용 되는 데이터가 점점 다양해지고 시작할 때 프로젝트에 맞는 데이터베이스를 결정하는 것이 중요함에 따라 SQL과 NoSQL의 핵심적인 차이점을 이해하는 것이 중요하다. SQL 이란?관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어다. 사용자가 관계형 데이터베이스에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있다..
2024.11.27
-
[C#][프로그래머스] 카펫
프로그래머스 > 코딩테스트 연습 > 완전탐색 > 카펫 https://school.programmers.co.kr/learn/courses/30/lessons/42842 📒 문제Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항갈색 격자의 수 brown은 8 이상 5,0..
2024.11.26
-
[C#][프로그래머스] 모의고사
프로그래머스 > 코딩테스트 연습 > 완전탐색 > 모의고사 https://school.programmers.co.kr/learn/courses/30/lessons/42840 📒 문제수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마..
2024.11.26
-
[C#][프로그래머스] 피보나치 수
프로그래머스 > 코딩테스트 연습 > 연습문제 > 피보나치 수 https://school.programmers.co.kr/learn/courses/30/lessons/12945#qna 📒 문제피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1F(3) = F(1) + F(2) = 1 + 1 = 2F(4) = F(2) + F(3) = 1 + 2 = 3F(5) = F(3) + F(4) = 2 + 3 = 5와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주..
2024.11.25
-
[C#][프로그래머스] 영어 끝말잇기
프로그래머스 > 코딩테스트 연습 > Summer/Winter Coding(~2018) > 영어 끝말잇기 https://school.programmers.co.kr/learn/courses/30/lessons/12981 📒 문제1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다.마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다.앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.이전에 등장했던 단어는 사용할 수 없습니다.한 글자인 단어는 인정되지 않습니다.다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wh..
2024.11.07
-
[C#] Dictionary로 변환 (ToDictionary)
Enumerable 메서드 중 Dictionary로 변환해주는 ToDcitonary에 대해 알아보겠다. .ToDictionary([key가 될 값], [value가 될 값])각 요소를 돌며 key와 value를 지정해준다. key만 지정해줄 수 도 있고, key와 value를 다 지정해줄 수 도 있다.key만 지정해주는 경우 value는 순차적으로 들어간다. 메서드 예제key만 지정해주는 경우int 배열을 dictionary로 변경해 주었다.각 요소를 string으로 변환해 key로 잡았다.int[] arr = { 1, 2, 3 };var dic = arr.ToDictionary(i => i.ToString());foreach(var keyValue in dic){ Console.WriteLine(..
2024.11.06
-
[C#][프로그래머스] 귤 고르기
프로그래머스 > 코딩테스트 연습 > 연습문제 > 귤 고르기 https://school.programmers.co.kr/learn/courses/30/lessons/138476 📒 문제경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의 종류가 2, 3, 5로 총 3가지가 되며 이때가 서로..
2024.11.06
-
[C#] Linq (람다식 메서드)
최근 수정: 2024.11.05Enumerable 클래스 중 람다식을 사용하는 메서드를 기록하는 곳입니다. 주요메서드Select() : 각 요소를 요청에 맞게 만들어 새로운 시퀀스를 만들어 준다. 예를 들면 각 요소의 타입을 변경한다던지, 특정 프로퍼티만 추출한다던지, 각 요소에 연산을 한다던지 등등string[] intStrs = { "123", "456", "789" };int[] answer = intStrs.Select(s => int.Parse(s)).ToArray(); // 각 요소를 정수로 바꾸기foreach (int i in answer) Console.Write(i + " "); // 123 456 789 Where() : 특정 조선을 만족하는 요소만 선택해서 새로운 시퀀스를 만든..
2024.11.05