본문 바로가기

IT

[기초-출력변환] 8진 정수 한 개 입력받아 10진수로 출력하기 && 마우스 마우스는 키보드와 더불어 컴퓨터의 대표적인 입력장치중 하나이다. 1986년 더글러스 에겔바트와 동료인 빌 잉글리시가 만들었다. 수직을 맞물린 톱니바퀴가 커서를 움직이는 방식인데 현재의 볼마우스에 원리로 사용된다. 초기엔 이런걸 어디다가 쓰이냐고 박대 받았다고 한다. 심지어 컴퓨터 혁명이 일어나기 전에 특허의 만기가 다 되어서 로열티를 받지 못 했다고 한다.1980년경에도 광마우스가 존재 했다. 이는 볼마우스중 볼의 움직임을 광센서로 감지하는 모델을 보고 볼을을 없애면 어떨까 하는 아이디어에서 개발되었다. 그러나 센서가 좋지 않아 오차가 많았었다. 따라서 너도 나도 볼마우스를 썼었는데, 비교적 간단한 동작구조와 어디서나 작동되는 범용성 덕분에 널리 오랜기간동안 사용 되었다. 허나, 볼에 먼지가 자주 껴서 .. 더보기
[기초-출력변환] 10진 정수 한 개 입력받아 16진수로 출력하기2 && 천공카드 천공카드는 종이카드에 직사각형 모양의 구멍을 뚫어 정보를 저장한 저장매체이다. 구멍을 뚫을 자리를 천공 위치라 하는데, 천공위치에 구멍을 뚫거나 뚫지 않음으로서 하나의 비트를 나타낼 수 있다. 한 줄에 있는 구멍에 수에 따라 몇비트인지 결정한다. 1725년 Basile Bouchon은 구멍을 뚫은 종이로 직물기를 조종하는 방법을 디자인했다. 직조물 모양에 따라 종이에 구멍을 뚫고 이 종이를 바늘로 누르면 구멍이 뚫린 곳은 그대로, 아닌 곳은 앞으로 움직인다. 곧 이 아이디어는 다양한 곳에서 쓰이게 된다. 종이 대신 아주 작은 구멍을 뚫은 천공카드로 바꾸고, 긴 벨트에 연결해서 움직이는 방식으로 바꾸기도 했다. 1801년 잭쿼드는 자동 직물 직조기를 발명하여 직조 산업에 혁명을 불러일으켰다. 이 기계는 바.. 더보기
[기초-출력변환] 10진 정수 한 개 입력받아 16진수로 출력하기1 && 빅 데이터 이전 포스팅에서 데이터를 다루었다. 이번엔 빅 데이터에 대해 소개를 하려 한다. 빅 데이터란 데이터를 수집, 저장, 관리, 분석할 뿐더러 이러한 데이터로 부터 가치를 추출하고 결과를 분석하는 기술이다. 정치, 사회, 경제, 문화, 과학 기술 등 전 영역에 걸쳐서 다양하게 활용되고 있으며 그 중요성이 커지고 있다. 또, 데이터 집합의 크기가 수십 테라바이트에서 수 페타바이트에 이르며, 계속 변화하고 있다. 이런 방대한 데이터로 현대 사회를 더 정확하게 예측하여 개인화된 현대 사회 구성원들 마다 맞춤형 정보를 제공, 관리, 분석 가능케 하며 과거엔 불가능 했던 기술을 가능케 한다. 빅 데이터 처리 기법은 크게 분석 기술, 표현 기술로 나뉜다.-분석 기술통계학과 전산학에 사용되던 여러기술(데이터 마이닝, 기계.. 더보기
[기초-출력변환] 10진수 한 개 입력받아 8진수로 출력하기 && 데이터 '상상하지 말고 관찰하라 -송길영' 데이터란 컴퓨터에 의해 처리되거나 해석될 목적으로 순서를 가지고 나열된 기호가 모여있는 것을 뜻한다. 여기서 수치화된 크기, 규모, 갯수 그리고 문자도 포함이다. 기계적 저장매체에 저장되며 전기신호 형태로 전송이 가능하다. 기본 구분 단위로는 비트를 쓰지만, 효율성을 위해 바이트, 또는 cpu가 한번에 처리할 수 있는 워드가 단위로 쓰이기도 한다. 유닉스나 어셈블리어에선 변수나 이진값등을 데이터라고 하고, 명령어 부분을 text라고 하기도 한다. 하지만 LISP에선 'Code is data, data is code.' 라는 이념으로 구분이 모호하기도 하다. 사실 사전적인 의미는 다음과 같다.1. 이론을 세우는 데 기초가 되는 사실, 또는 바탕이 되는 자료2. 관찰이나 .. 더보기
[기초-데이터형] 정수 한 개 입력받아 그대로 출력하기3 && Y2K, 2038년 버그 Y2K는 Year 2000 Problem으로 밀레니엄 버그이다. 여기서K가 1000을 의미한다. 1999년 당시 2000년이 되면 세상이 망한다는 흉흉한 소식이 돌고 있었다. 미디어 매체 역시 암울한 내용과 관련되어 이야기를 만들었다. 이 때 Y2K버그 소문이 돌게 되었다. 이 버그는 당시 몇몇 컴퓨터들이나 프로그램들이 메모리를 줄이기 위하여 년도 표기를 2진수로 하였는데, 날짜를 MM-DD-YY로 표기를 썼다. (M은 Month D는 Day Y는 Year이다.) 예를 들어 1983년 2월 27일이라면 02-27-83으로 표기가 된다. 여기서 문제가 발생하였는데, 2000년이 넘어가면 00부터 세서 컴퓨터가 1900년인지 2000년인지 알 수가 없다는 것이다. 이 문제는 별것 아닌것 같지만, 금융시장의 .. 더보기
[기초-데이터형] 실수 한 개 입력받아 그대로 출력하기2 && 운영체제2 운영체제는 다양한 종류가 있는데 대표적으로 다음과 같은 종류가 있다. ●싱글 태스킹/멀티 태스킹(테스킹이 아니라 태스킹이라고 한다.):이름에서 알 수 있듯이 싱글 태스킹 운영체제는 한번에 오직 하나의 프로그램만 실행할 수 있다. 반면, 멀티태스킹 운영 체제는 하나 이상의 프로그램이 동시에 실행할 수 있게 한다. 멀티 태스킹의 경우 선점형과 비선점형(협동형)으로 나누어 진다. 선점형 멀티태스킹은 각 프로그램마다 요구하는 메모리와 같은 자원을 타이머를 통해 돌아가면서 분배해준다. 스케줄러에 따라 차이가 나지만, 원론적으로는 시간을 정해 놓고 시간마다 선점이 일어나는데, 이 시간 단위를 퀀텀 혹은 슬라이스라 한다. 이 시간이 너무 짧으면 프로스세를 바꾸는데 소모되는 자원이 커지고, 너무 높으면 반응속도가 느려.. 더보기
[기초-데이터형] 정수 한 개 입력받아 그대로 출력하기2 && 운영체제1 운영체제 또는 OS(Operating System)은 하드웨어 관리 및 응용 소프트웨어를 실행시키는 시스템 소프트웨어이다. (응용 소프트웨어는 운영체제에서 실행가능한 모든 소프트웨어이다. 크롬, 마이크로소프트 오피스, 메모장 등등이 여기에 속한다. 반면 시스템 소프트웨어는 응용 소프트웨어를 실행하기 위한 플랫폼을 제공하고 컴퓨터 하드웨어를 동작, 접근할 수 있도록 설계된 소프트웨어이다.) 또, 실행되는 응용 프로그램들이 메모리와 CPU, 키보드나 모니터처럼 입출력 장치 등의 자원들을 사용 할 수 있도록 만들어 주고, 이를 간단히 하여 파일 시스템 등의 서비스를 제공한다. 운영체제가 Windows,macOS,Linux와 기껏해야 수십개 있겠지 생각하면 큰 오산이며 실제로 운영체제는 하늘에 별만큼 많다.(광.. 더보기
[기초-입출력] 년월일 입력받아 형태 바꿔 출력하기 && 프로그래밍 언어 종류 마치 언어 처럼 프로그래밍언어는 수 천개 정도 있다. 그 중에서 몇가지만 소개해 보려고 한다.●Ada:귀족을 뜻하는 독일어에서 따왔으며, 미국 국방부에서 사용했었다. 어떤 프로그램이라도 만들 수 있게 했기 때문에 사양이 대규모이다. 요즘에는 전문가외에는 잘 안쓰인다.●ABAP:SAP용 프로그램 개발에 쓰이는 언어이다. Cobol에 영향을 받아 영어문장 쓰듯이 쓸 수 있다. 자체로 SQL이 내장되어있다.●ActionScript(액션스크립트):초창기엔 단순히 애니메이션을 조작하는 간단한 언어였다. 헌데, 점차 발전을 거듬해 3.0버전은 어도비 사가 매크로 미디어를 인수하고 개량하여 세상에 나왔다. JavaScript와 비슷하며, 객체지향 언어로 바뀌었다.●ALGOL(알골):ALGOrithemic Langua.. 더보기
[기초-입출력] 시분초 입력받아 분 만 출력하기 && 윈도우 단축키 Windows XP지원은 끝나서 아래의 기능은 Windows 7이상부터 적용 되는 것이 많다. 아래에 소개할 것들은 알고있다면, 꽤나 유용하게 쓰일 기능들이다. ●기본 단축키 Win + D 바탕화면 보기 / 복구 Win + E 탐색기 열기 Win + F 검색 Win + G 가젯을 차례로 선택 Win + P 프리젠테이션 디스플레이 모드 선택 Win + R 실행 대화 상자 열기 Win + X 윈도우 모바일 센터 실행 Win + = 돋보기 Win + [+/-] 돋보기 확대/축소 Ctrl + Shift + Esc 작업 관리자 실행 Ctrl + F4 동시에 여러 문서를 열 수 있는 프로그램에서 활성 문서 닫기 Alt + Esc 프로그램을 열린 순서대로 선택 Ctrl + Esc 또는 Win 시작 메뉴 열기 ●창 관.. 더보기
[Python3] 올바른 괄호 이 문제는 tryhelloworld 에 있던 문제인데, 문제 내용은 다음과 같다. 올바른 괄호란 (())나 ()와 같이 올바르게 모두 닫힌 괄호를 의미합니다. )(나 ())() 와 같은 괄호는 올바르지 않은 괄호가 됩니다. 괄호를 이리저리 움직이며 올바른 괄호를 찾던 민호는 N개의 괄호쌍이 있을 때, 올바른 괄호를 만들 수 있는 경우의 수가 궁금해졌습니다. 괄호 쌍의 개수 N개가 주어졌을 때, 경우의 수를 반환하는 parenthesisCase 함수를 완성해 보세요. 예를 들어N = 1일 경우는 () 의 1가지만 존재하므로 1을 리턴하면 됩니다.3일 경우에는 ((())), (())(), ()(()), ()()(), (()()) 의 5가지가 존재하므로 5를 리턴하면 됩니다. 어찌보면 쉬운 문제인데, 생각 보.. 더보기