이 글은 insight 출판사의 [밑바닥부터 만드는 컴퓨팅 시스템 / The Elements of Computing System]이라는 책에 있는 프로젝트(과제) 를 수행하는 글입니다. 이 챕터에서는 AND, OR, NOT같은 간단한 논리 연산과 이에 대응하는 게이트에 대해 공부했었다. Chapter 1의 프로젝트는 이러한 게이트를 컴퓨터 상에서 구현하는 것을 목표로 한다. 책에서는 게이트 및 컴퓨터의 구현을 위한 윈도우용 프로그램을 무료로 제공하고 있지만, 사지방의 컴퓨터가 리눅스 기반의 운영체제인 관계로 그냥 웹 ide에서 C#으로 코드를 짜서 구현하려고 한다. 작성할 게이트들은 Gates라는 namespace에 만든 BoolGate class에 담아주었다. main에서 코드를 불러와 메서드를 실행시..
Write( ), WriteLine( ) 메서드에서 format 지정해주기 printf("%d + %d = %d\n", a, b, sum); // a + b = sum 을 출력 C언어에서는 printf 라는 함수에서 출력하려는 값의 format을 지정해준 뒤 문자열 “” 밖에서 파라미터 형식으로 값을 전달해줄 수 있었다. 그래서 함수의 이름도 print+format 인 printf이었다. 사실 C#에서는 + 를 통해 문자열을 쉽게 합쳐서 출력할 수 있었다보니 이런 format 지정을 이용하지 않았다. (굉장한 낭비이긴 하지만, 단순히 백준 문제를 푸는 데 있어서는 크게 영향이 없더라고) 그런데 이 Format 지정을 써줘야하는 문제를 만났다. 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여..
백준 15552번 문제 : 빠른 A + B 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 입력 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. 출력 각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다. 문제는 그렇게 어렵지 않다. 그러나 이 문제를 가져와 글을 쓰는 이유는 이런 조건이 달려있어서 이다. “입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다. 입출력을 더 ..