전체 글

전체 글

    [CodinGame] Stock Exchange Losses(중간 증권 거래소 손실)

    [CodinGame] Stock Exchange Losses(중간 증권 거래소 손실)

    [Rules_규칙] 주식 가격의 변동을 시간 순서대로 분석하여 주식 투자의 최대 손실을 계산합니다. 한 시점(t0)에서 주식을 사고 다른 시점(t1)에서 주식을 팔았다면 손실 금액은 두 시점의 주식 가격 차(t1-t0)와 동일합니다. 손해를 보지 않았다면 손실은 0입니다. 2줄의 입력을 받습니다. 첫 번째 입력 값: 주식 변동 개수 n 두 번째 입력 값: 주식 가격을 시간 순서에 따라 v1 시점부터 vn 시점까지 차례대로 입력받습니다. 출력 값: 최대 손실을 출력합니다. 손실은 음수로 표현하고. 손실이 없으면 0을 출력합니다. [문제] https://www.codingame.com/training/medium/stock-exchange-losses Practice Arrays and Loops with ..

    [CodinGame] Unary(단항)

    [CodinGame] Unary(단항)

    [Rules_규칙] 문자를 임의의 코드로 변환하는 것을 인코딩이라고 합니다. 이 게임의 인코딩 규칙은 다음과 같습니다. 입력 문자열은 7비트 아스키코드로 구성되어 있습니다. 출력할 메시지는 0의 블록으로 구성됩니다. 각 블록은 "공백"으로 구분합니다. 출력할 메시지는 연속한 동일 비트를 묶어 2개의 블록을 한 쌍으로 표현합니다. 첫 번째 블록은 항상 0 또는 00입니다. 비트가 1일 경우 0으로, 0일 경우 00으로 표현합니다. 두 번째 블록은 연속한 동일 비트(1 또는 0)의 개수만큼 0을 출력합니다. [문제] https://www.codingame.com/training/easy/unary/discuss Developer discussion about "Unary" Exchange with other..

    [C#] LINQ

    [C#] LINQ

    LINQ가 유용하다고 느끼게 된 일 제가 요즘 알고리즘 문제 풀이에 도전하고 있는데 C#으로 해보고 있습니다. 우주선이 산에 충돌하지 않도록 가장 높은 산부터 차례대로 파괴하는 문제입니다. 8개의 산은 왼쪽부터 0~7번의 인덱스를 가지고 인덱스를 출력하면 산에 발포하여 산을 파괴하는 문제였습니다. using System; using System.Linq; using System.IO; using System.Text; using System.Collections; using System.Collections.Generic; /** * The while loop represents the game. * Each iteration represents a turn of the game * where you a..

    [C#] 네트워크 프로그래밍

    [C#] 네트워크 프로그래밍

    2023.03.28 - [C# 프로그래밍] - [C#] TCP/IP 네트워크 (1) [C#] TCP/IP 네트워크 (1) 네트워크 기술은 다른 컴퓨터에서 실행되고 있는 상대 프로세스가 마치 한 컴퓨터, 아니 한 프로세스 안에 있는 객체인 것처럼 다루게 해 줍니다. 이런 강력한 기술을 다루기는 기본적으로 어렵 onesside-world.tistory.com 2023.03.29 - [C# 프로그래밍] - [C#] TCP/IP 네트워크 (2) [C#] TCP/IP 네트워크 (2) [IP주소 체계 요약] IP 주소는 컴퓨터 네트워크에서 각 호스트를 식별하는 데 사용되는 고유한 식별자입니다. IPv4는 32비트 주소 체계이며, 총 4,294,967,296개의 주소를 가질 수 있습니다. IPv6는 128비 ones..

    Unity UnityAction

    Unity UnityAction

    UnityAction은 Unity에서 사용되는 델리게이트(Delegate) 타입 중 하나로, 이벤트를 처리하는 데 사용됩니다. UnityAction은 메서드를 참조할 수 있는 대리자(delegate) 역할을 합니다. 예를 들어, 다음은 UnityAction을 사용하여 버튼 클릭 이벤트를 처리하는 코드입니다. using UnityEngine; using UnityEngine.UI; public class ButtonExample : MonoBehaviour { public Button myButton; void Start() { // 버튼 클릭 이벤트에 대한 UnityAction 생성 UnityAction myAction = new UnityAction(ButtonClicked); // 버튼에 UnityA..

    [C#] TCP/IP 네트워크 (2)

    [C#] TCP/IP 네트워크 (2)

    [IP주소 체계 요약] IP 주소는 컴퓨터 네트워크에서 각 호스트를 식별하는 데 사용되는 고유한 식별자입니다. IPv4는 32비트 주소 체계이며, 총 4,294,967,296개의 주소를 가질 수 있습니다. IPv6는 128비트 주소 체계이며, 총 340,282,366,920,938,463,463,374,607,431,768,211,456개의 주소를 가질 수 있습니다. IPv4 주소는 점으로 구분된 4개의 8비트 숫자로 표시되며, 예를 들어 192.168.0.1과 같은 형식입니다. IPv6 주소는 16진수로 구성된 8개의 16비트 블록으로 표시되며, 예를 들어 2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같은 형식입니다. IP 주소는 지정된 네트워크와 호스트 부분으로 나뉘며, ..

    [C#] TCP/IP 네트워크 (1)

    [C#] TCP/IP 네트워크 (1)

    네트워크 기술은 다른 컴퓨터에서 실행되고 있는 상대 프로세스가 마치 한 컴퓨터, 아니 한 프로세스 안에 있는 객체인 것처럼 다루게 해 줍니다. 이런 강력한 기술을 다루기는 기본적으로 어렵지만, 쉽게 해주는 프레임워크 같은 게 있습니다. 대표적으로 유니티에서 쓰는 포톤 프레임워크 같은게 있습니다. 하지만 이런 프레임워크를 쓸려고 해도 네트워크에 대한 기초는 필수 요소이기 때문입니다. 그래서 이번 글에서 네트워크에 대한 기초를 저도 배우는 입장에서 적어보겠습니다. 컴퓨터끼리 네트워크에서 데이터를 주고받기 위해서는 그 네트워크에서 통용되는 "프로토콜(protocol)"을 따라야 합니다. 프로토콜은 규약, 규칙이라는 뜻의 낱말로, 여기에서는 컴퓨터들이 네트워크를 통해 데이터를 주고받기 위한 통신 규약을 말합니다..

    [C#] async 한정자와 await 연산자

    [C#] async 한정자와 await 연산자

    2023.03.27 - [C# 프로그래밍] - [C#] Task (1) [C#] Task (1) 칩 제조사들은 cpu의 클럭 스피드를 올리는 것으로는 더 이상 물리적 한계에 부딪히게 되어 코어를 증가시키는 쪽으로 성능을 올렸습니다. 그렇기 때문에 성능 좋은 큰 프로그램을 만들려면 여 onesside-world.tistory.com 2023.03.27 - [C# 프로그래밍] - [C#] task (2) [C#] task (2) 2023.03.27 - [C# 프로그래밍] - [C#] Task (1) [C#] Task (1) 칩 제조사들은 cpu의 클럭 스피드를 올리는 것으로는 더 이상 물리적 한계에 부딪히게 되어 코어를 증가시키는 쪽으로 성능을 올렸습니다. 그렇 onesside-world.tistory.co..

    [C#] task (2)

    [C#] task (2)

    2023.03.27 - [C# 프로그래밍] - [C#] Task (1) [C#] Task (1) 칩 제조사들은 cpu의 클럭 스피드를 올리는 것으로는 더 이상 물리적 한계에 부딪히게 되어 코어를 증가시키는 쪽으로 성능을 올렸습니다. 그렇기 때문에 성능 좋은 큰 프로그램을 만들려면 여 onesside-world.tistory.com *동기와 비동기 task 클래스는 우리가 비동기 코드를 쉽게 작성할 수 있도록 돕습니다. 그런데 비동기 코드가 뭔지를 아직 설명을 안 적었네요. 일단, 비동기 코드를 설명하기 전에 동기 코드를 먼저 설명하겠습니다. 동기 코드는 검사가 검으로 공격할 때처럼 동작합니다. 검사가 검으로 상대를 찌른 뒤에 다시 뽑아야 검을 쓸 수 있는 것처럼, 동기 코드는 메소드를 호출한 뒤에 이 메..