Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기

728x90

전체 글

(54)
[Baekjoon] 15723번 n단 논법 S1 15723번 - n단 논법1. 문제모든 중앙대 컴퓨터공학부(소프트웨어학부) 학생들은 미인이다.지무근은 중앙대 컴퓨터공학부 학생이다.그러므로 지무근은 미인이다.위 연역 논증은 대표적인 삼단논법의 예시이다. 삼단논법이란 전제 두 개와 결론 하나로 이루어진 연역 논증이다. 이것을 응용하면, n 개의 전제가 있을 때 m 개의 결론을 도출할 수 있을 것이다. 이때의 nm은 모든 의미에서 적절한 수라고 가정하자. 자세한 것은 입출력 예시를 확인하자.Input첫째 줄에 정수 n(2n26) 이 주어진다.둘째 줄부터 n개의 줄에 걸쳐 각 줄에 전제가 하나씩 주어진다. 전제는 모두 a is b의 형식으로 주어지며 a와 b는 서로 다른 임의의 알파벳 소문자이다. 특별한 명시는 없지..
[Baekjoon] 1022번 소용돌이 예쁘게 출력하기 G3 <Short> 1022번 - 소용돌이 예쁘게 출력하기1. 문제크기가 무한인 정사각형 모눈종이가 있다. 모눈종이의 각 정사각형은 행과 열의 쌍으로 표현할 수 있다.이 모눈종이 전체를 양의 정수의 소용돌이 모양으로 채울 것이다. 일단 숫자 1을 0행 0열에 쓴다. 그리고 나서 0행 1열에 숫자 2를 쓴다. 거기서 부터 소용돌이는 반시계 방향으로 시작된다. 다음 숫자는 다음과 같이 채우면 된다. -3 -2 -1 0 1 2 3 ---------------------3 |37 36 35 34 33 32 31-2 |38 17 16 15 14 13 30-1 |39 18 5 4 3 12 29 0 |40 19 6 1 2 11 28 1 |41 20 7 8 9 10 27 2 |42 21 22 23 24 ..
[Design Pattern] 반복자 (Iterator) 패턴 1. 개요반복자 디자인 패턴 (Iterator Design Pattern)은 컬렉션(Collection) 객체의 내부 구조에 상관없이 요소(element)들을 순차적으로 접근하고 싶을 때 사용되는 패턴이다.2. 조건요소들을 반복적으로 탐색하고자 할 때컬렉션 객체의 내부 구조에 대한 세부 정보를 노출시키지 않고자 할 때3. 다이어그램3.1. 설명Iterator요소에 순차적 접근을 허용하는 인터페이스를 정의한다.다음 요소를 반환하는 next() 메소드가 있다.다음 요소의 존재 여부를 확인하는 hasNext() 메소드가 있다.ConcreteIteratorIterator 인터페이스의 구현 클래스이다.컬렉션 객체의 내부 구조에 맞추어 요소들을 반복하고 관리한다.AggregateIterator를 생성하는 인터페이스..
[Project] Keep 1. 개요이전의 [Project] Tico & Tico Simulator 포스팅에 이어 또 다른 과제를 소개하고자 한다. Open-Source Software Lab (OSSL) 수업의 과제였는데 버전관리시스템(VCS) 에 관한 과제였다. 학습한 Git 의 동작원리와 사용방법을 토대로 해당 프로그램을 제작하라.하지만 대략적인 과제의 내용은 위와 같았고 나를 포함한 대다수의 학생에게 해당 내용은 다소 충격적이게 다가왔다. OSS 수업은 교수님에 따라 크게 두 분반으로 나뉘었는데 당시 학생들 사이에서 "너네는 Git 배우냐? 우리는 Git 만든다" 와 같은 말을 실소와 함께 주고받는 모습을 기억한다. 하지만 겉보기에 무시무시했던 이 과제는 교수님의 여러 조건들 덕분에 결론적으로 할 만 했던 과제가 되었다. ..
[Design Pattern] 데코레이터 (Decorator) 패턴 1. 개요데코레이터 디자인 패턴 (Decorator Design Pattern)은 객체에 동적으로 새로운 기능을 추가하기 위한 패턴이다.이 패턴은 상속이 아닌 객체 래핑(Object Wrapping)하여 새로운 기능을 추가한다.2. 상황3. 다이어그램3.1. 설명Component기본 기능을 정의하는 인터페이스 이다.Decorator와 ConcreteDecorator에 의해 구현된다.ConcreteComponentComponent의 구현 클래스 이다.Decorator추상 클래스 이다.Component의 구현 클래스 이면서 Component 인스턴스를 갖고 있다.Component의 메소드를 호출 후 추가적인 동작을 수행한다.ConcreteDecoratorDecorator의 구현 클래스로, 추가적인 기능을 구..
[Project] Tico & Tico Simulator 1. 개요이 포스팅에서는 나의 학교 Open-Source Software Lab (OSSL) 수업의 당시 괴물 같았던 과제들 중 하나인 TICO에 대한 회고 및 정리를 하고자 한다. 그 당시의 나는 과제에 대한 설명을 들었을 때 상당히 흥미롭다는 느낌과 더불어 과연 내가 이것을 해낼 수 있을지 걱정이 앞섰다. 더불어 이 수업은 이와 같은 과제가 계속해서 제시되었기 때문에 다른 수업들도 듣는 나를 비롯한 모든 학생들 입장에서는 큰 부담으로 다가왔었다. 하지만 교수님의 과제는 항상 나에게 있어 가히 흥미로웠기에 완벽을 기하기 위해 노력했던 것으로 기억한다. 상당히 공들였던 과제이니만큼 나의 여럿 프로젝트의 일환으로서 해당 과제의 설명과 해결과정을 상세히 기록한다.2. 과제 설명과제 원문TICO is a si..
[Project] 3D Renderer 1. 개요나를 포함한 대부분의 사람들은 우리가 사는 3차원 세상을 2차원 평면인 화면에 표시하는 형태의 컴퓨터 프로그램을 많이 접한다. 특히 마인크래프트, GTA, 오버워치 등의 3D 게임이 전부 그러하다. 이러한 프로그램들을 보면서 이것들은 어떻게 구현한 것일까에 대한 궁금증을 가지게 되었고 그에 대한 원리를 공부하고 간단한 예제 프로그램을 제작했었는데, 시간이 많이 지나 해당 개념이 가물가물할 현시점에 복습도 할겸 프로그램은 더 발전된 형태로 업그레이드 시키면서, 기록으로도 남겨놓는 것이 좋을 것이라 판단하여 해당 포스팅을 작성한다.2. 기본 아이디어우리의 눈은 3 차원 도형을 관찰할 때, 나와 반대편에 위치한 면에 대한 정보는 알 수 없다. n 차원 세계의 관찰자는 매 관찰하는 순간마다 $n..
[Baekjoon] 10101번 삼각형 외우기 B4 <Short> 10101번 - 삼각형 외우기1. 문제창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.삼각형의 세 각을 입력받은 다음, 세 각의 크기가 모두 60이면, Equilateral세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene세 각의 합이 180이 아닌 경우에는 Error를 출력하는 프로그램을 작성하시오.Input총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.Output문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.2. 사용 알고리즘수학 (Math)3. 풀이해당 풀이는 가능한..

728x90