분류 전체보기

문제https://www.acmicpc.net/problem/14502고민고민이 코드보다 먼저 나오는게 좋을 거 같아서 수정했습니다. 어떠신가요^.^ 문제를 보면1. 연구실에 벽 3개를 임의로 설치하고2. 바이러스를 감염시킨다.3. 감염되지 않은 공간을 센다.위 세 로직을 반복하여 감염되지 않은 공간이 가장 많을 경우를 출력하면 된다. 우선 1. 연구실에 벽 3개를 임의로 설치이 문장을 보고 nCr(조합)을 떠올렸다. 조합은 백트래킹으로 찾아줬다.만약, 3개의 자리에 a, b, c, d, e를 넣는 경우의 수를 생각해보면a b ca b da b ea c da c ea d e...가 나올 것이다. 나는 이것을 백트래킹이라고 이해했다.재귀로 계속 호출해주면서 하나씩 값을 넣으면 모든 경우의 수가 나온다. 2..
저 엑셀파일 저장하는거 부터 한글 다 깨지고... 첫 도전은 오래 걸리고 낯설고 힘들지만 그 과정에서 인내를 얻고 끝에는 뿌듯함과 앞으로도 할 수 있을거란 자신감을 갖게 되는 거 같습니다. 누가 보면 거창한걸 개발한 것도 아닌데 호들갑 떤다 말할 수 있지만, 어찌보면 작은 것에 용기를 얻어가는 것이 초심자에게 주어지는 행운이 아닐까 생각합니다. 저처럼 시간 낭비하지 않도록 누군가의 길잡이가 되어주겠다는 마음으로 글을 적어보겠습니다.엑셀파인, csv파일을에서 데이터를 추출하는 이유?게임을 만들다 메뉴를 창조 할 때가 왔습니다... 타이쿤 게임을 만들다 보니 디저트 양만 70가지가 넘어가더군요.. 이 많은걸 하나하나 메서드별로 분리해서 switch문으로 enum을 구분한다? 말도 안된다고 생각했습니다. 계속..
문제 https://www.acmicpc.net/problem/1931 코드 using System; using System.Text; using System.Collections.Generic; class Dongsik { static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); (long start, long end)[] arr = new (long, long)[n]; for(int i = 0; i < n; i++) { long[] input = Array.ConvertAll(Console.ReadLine().Split(' '), long.Parse); arr[i] = (input[0], input[1]); } // 정렬된 배열..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/70129 코드 using System; public class Solution { public int[] solution(string s) { int totalCnt = 0; int zeroCnt = 0; while(s != "1") { int lenBefore = s.Length; s = s.Replace("0", ""); // 0 제거 int lenAfter = s.Length; zeroCnt += (lenBefore - lenAfter); s = Convert.ToString(lenAfter, 2); totalCnt++; } int[] answer = new int[] {totalCnt, ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 using System; public class Solution { public int solution(int n, int m, int[] section) { int start = section[0]; int end = section[0] + (m - 1); int cnt = 1; foreach(int i in section) { // 만약 범위에 들어간다면? 반복문을 다시 실행 if..
이전 포스팅을 참고해주세요. https://dongsik-blog.tistory.com/96 C#으로 MMORPG 서버 만들기01 : Socket C#으로 MMORPG서버를 만드는 첫번째 과정입니다. Socket을 생성하고 간단한 연결을 하겠습니다. 서버의 Socket 제작 순서는 아래와 같습니다. 1. Socket 선언 2. Socket 설정(endpoint, socket type, protocol type) 3. S dongsik-blog.tistory.com 이전 포스팅에서는 Server, Client스크립트를 만들어 서로 Socket 통신을 실시했습니다. 이번에는 Server코드에서 Socket을 초기화하고 작동하는 코드를 다른 클래스로 분리하고, Accept()를 비동기처리 해보겠습니다. 1. ..
C#으로 MMORPG서버를 만드는 첫번째 과정입니다. Socket을 생성하고 간단한 연결을 하겠습니다. 서버의 Socket 제작 순서는 아래와 같습니다. 1. Socket 선언 2. Socket 설정(endpoint, socket type, protocol type) 3. Socket 열기(endpoint) 4. Client한테 받는 과정 5. Client한테 보내는 과정 6. 상호 합의하에(?) 연결 끊는 과정 Client의 제작 순서는 아래와 같습니다. 1. Socket 선언 2. Socket 연결(end point) 3. Server한테 보내는 과정 4. Server한테 받는 과정 5. 상호 합의하에(?) 연결 끊는 과정 서버 1. Socket 선언 // dns string hostName = Dn..
프로세스(프로그램)이 메모장, 크롬, MMORPG 게임이 실행되고 있다고 가정하자. 각 프로그램에는 쓰레드가 존재하고 메모장에 1개, 크롬에 1개, MMORPG에 2개가 있다. CPU의 코어는 한번에 하나의 쓰레드만 동작시킬 수 있는데, 만약 1개의 코어라면? 각 쓰레드를 굉장히 빠른 속도로 이동하며 프로그램을 동시에 돌아갈 수 있도록 만든다. 코어가 2개라면? 2개의 코어가 굉장히 빠른 속도로 이동하며 프로그램을 동시에 돌아갈 수 있도록 만든다. 가장 좋은 방법은 코어와 쓰레드의 개수를 일치시키는 것이다. 코어가 굉장히 빠른 속도로 쓰레드를 돌아가며 프로그램을 실행시키는 것보단 하나의 코어가 하나의 쓰레드에 집중하며 프로그램을 실행시키는 것이 효율 차원에선 이득이다. 간단하게 쓰레드에 대해서 알아보았으..
이동식이
'분류 전체보기' 카테고리의 글 목록 (2 Page)