경쟁적 전염 https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 사고 과정 보자마자 떠오르는 것은 이를 그대로 구현하는 방법이다. 매번 1, 2, 3 순서대로 전개하고 마지막에 정답을 찾는다. 매 초마다 1,2,3 순으로 전개해줘야 하기 때문에 순서를 queue를 이용하여 구하면 된다. 목표 위치에 가장 빨리 도달하는, 목표 위치를 가장 빨리 탐색하는 노드를 찾는 문제이므로 BFS로 해석할 수 있다. 또다른 풀이는 '..
오늘 세가지 기쁨이 있었다. 첫번째, 소프트웨어 프로그램 개발은 아주 재밌다. 또한 재밌을 것이다. 두번째, 장기적인 관점을 보며 쌓아왔던 일명 '가지치기' 사고방식이 나에게 큰 도움이 된다. 세번째, 내가 상상하는 것들을 만들 수 있는 사람이 됐다. 또한 될 것 같다. 첫번째 소프트웨어 개발이 아주 재밌고 재밌을 것 같다. 뭔가 잘 안맞으면서도 미묘하게 맞는 이 말은 오늘 알고리즘 공부를 하며 깨달았다. 나는 문제 해결을 아주 좋아하고 또한 효율적으로 문제가 해결되는 상황을 아주 좋아한다. 알고리즘의 시간 복잡도를 낮추는게 아주 재밌었다. 문제를 하나 더 또하나 더 풀고 싶은 감정이 들었다. 근데 이게 왜 그렇게 대단한 감정이냐고 누군가 물을 수 있다. 나는 문제 해결을 잘 못했고 알고리즘은 매우 못 ..
1. CODE 하드웨어와 소프트웨어에 숨어 있는 언어 (명저이므로 출처 생략) 2. 컴퓨터 과학이 여는 세계 (출처: https://m.blog.naver.com/bmt5111/222166322585) 3. 한 권으로 그리는 컴퓨터과학 로드맵 / 컴퓨터 사이언스, 새내기를 위한 최신 컴퓨터 개론 1. 컴퓨터 구조 - [입문] 컴퓨터 구조 프로그래밍 관점에서 바라보는 컴퓨터 구조 - 정기철 저 (출처: https://covenant.tistory.com/103?category=773722) - [심화] 컴퓨터구조 - 최규상 교수님 강의, 컴퓨터 구조 및 설계 - David A. Patterson,John L. Hennessy (출처: https://covenant.tistory.com/103) 2. 운영 ..
애자일이란? 1.사전적 정의 정해진 계획만 따르기보다, 개발 주기 혹은 소프트웨어 개발 환경에 따라 유연하게 대처하는 방식 (출처: 네이버 지식 백과) 신속하고 변화에 유연하며 적응적인(adaptive) 소프트웨어 개발을 목표로 하는 다양한 경량 개발 방법론 전체를 일컫는 총칭으로, 반복(iteration)이라 불리는 단기 단위를 채용함으로 위험을 최소화하는 개발 방법이다.(출처: 두산 백과) agile: 날렵한, 민첩한, (생각이) 재빠른 (출처: 네이버 영어사전) 즉 agile 영어 뜻 그대로 애자일은 상황에 따라 유연하게 일을 처리하기 위해 택하는 방법론을 말합니다. 은 개방 방법을 차로 비유한 상황입니다. 우측 첫번째 그림과 같이 차를 만들기 위해 처음부터 끝까지 완벽하게 계획된 설계하는 것이 아..
10-1장. 게임 캐릭터의 행동 양식을 설계할 때, 많은 문제점이 존재한다. 행동 양식이란? 1. 사전적 의미 몸을 움직여 동작하거나 어떤 일을 하는 일정한 모양이나 형식. (네이버 지식 백과) 한 개체가 가시적인 행동에 이르기까지 내리게 되는 일련의 결정('증강 현실, 가상현실과 공간 컴퓨팅- 팡갈리넌 저) 환경 인지를 바탕하여 다음에 수행할 행동을 결정하는 판단 과정은 고도의 복잡성을 보인다. 이때 판단들은 시간과 공간의 관점에서 규모의 차이로 인해 문제점이 있다. 게임 내 판단 과정은 퀘스트&전략, 활동&전술, 네비게이션, 애니메이션 순으로 구성된다고 가정하자.(물론 폭포수 이론과 같이 일방향적이 아닌, 중간에 게임 환경과 상호작용하는 구조다.) 2. 시간적 규모의 차이로 인한 문제점 서로 다른 모..