본문 바로가기

분류 전체보기145

야메 C언어 강좌: 3. 주석과 변수 우리가 굉장히 어려운 수학문제를 풀때 선생님께서 풀이를 가르켜주셨을 때는 이해하기 쉬웠지만 몇일이 흐르고 다시 그 풀이를 봤을 때 한번에 다시 이해하는 것은 굉장히 어렵습니다. 코드도 마찬가지입니다. 처음에 내가 썼던 코드들을 몇시간 몇일 뒤에 봤을 때에 한번에 이해하기에는 굉장히 어렵습니다. 그래서 여러분들이 수업때에 필기를 작성하는 것처럼 여러분의 코드 옆에 해당 코드에 대한 설명을 작성할 수 있습니다. 마치 밑코드 처럼 말이죠. #include//stdio.h라는 라이브러리 포함 int main(){ printf("Hello, World!"); //printf는 출력함수 return 0; //코드 종료 } 코드 오른쪽에 저번에 배웠던 내용들을 적어놨습니다. 이러한 설명들을 우린 주석이라고 부릅니다... 2020. 4. 19.
야메 C언어 강좌: 2. Hello, world의 정체 #include int main(){ printf("Hello, World!"); return 0; } 저번 강좌에서 보았던 우리의 첫 코드입니다. 다양한 이해가되지 않은 영어들이 있는데 그래도 그나마 익숙할 코드는 "Hello, World!"가 있겠죠. 네 바로 화면에 출력하게 되는 글씨들이 있습니다. 호기심이 있으신 분들은 아마 Hello, World! 대신에 다른 말들을 적어봤겠죠? 아주 좋은 자세입니다! 코딩의 실력을 늘리는데에 자기가 직접 실험을 해보는 것이 굉장히 효율적이라고 말해주고 싶군요. 그렇습니다. 괄호 안 ""안의 말들은 우리가 화면에 출력하고 싶은 문자열들을 적을 수 있습니다. 그럼 이 출력을 하게 해주는 명령어는 바로 printf라는 함수입니다. 우리는 앞으로 이 함수를 통해서 우.. 2020. 4. 19.
야메 C언어 강좌: 1. Hello, World!(dev c++설치하기) 많은 분들이 처음 컴퓨터언어에 관해서 공부를 시작할 때 기본적인 배경 지식이 필요한지에 많은 걱정을 합니다. 저도 처음엔 그런 고민을 하였고 전공수업때는 이때문에 조금 어렵다는 관념때문에 벅찬 느낌이 있었지만 지금와서 생각해보니 그런 걱정은 사실 필요없다고 생각합니다. 그래서!!! 여러분들이 이 강좌를 듣기 전에 필요한 것은 컴퓨터와 컴파일러입니다!!! 컴퓨터는 알겠는데 컴파일러라는 것에 낮설수도 있습니다. 컴파일러는 컴퓨터언어를 작성하는데 필요한 환경이라고 생각하면 되겠습니다. 마치 컴퓨터 언어의 작업장과도 같은 것이죠. 컴파일의 종류는 굉장히 많습니다. 흔히 마이크로소프트사에서 제공하는 Visual Studio가 있죠. 굉장히 다양한 기능이 있고 사용하는데에도 굉장히 편이합니다. 다만 저의 강좌 초반.. 2020. 4. 18.
야메 c언어 강좌: 0. 강좌를 앞서서... 이 강좌는 처음 c언어를 접하는 분들에게 추천드리고 굉장히 전문적인 부분까지는 얘기하지 않을 것을 강좌 시작전에 얘기 드리고 싶습니다. 강좌의 이름을 "야메강좌"라고 지은 이유도 너무 심도있는 부분까지는 얘기하고 싶지 않아서 이기 때문입니다. 사실 본 글쓴이가 그렇게 전문가가 아니어서 라는 이유도 포함되어있긴 하지만 ...ㅎ !!!그러나 각 강좌마다 단점이 있다면 장점도 있을 것이라고 생각합니다! 저의 강좌에선 간단한 개념소개와 간단한 예시로 그리고 저의 경험을 소개하고 어떻게하면 주어진 개념들을 이곳저곳에 활용하여 내가 상상한대로 코드를 짤수있도록 도와드리겠습니다!!! 여러분의 상상을 코드로 표현할수 있는 순간까지 저의 강좌를 봐주셨으면 좋겠습니다!!! 마지막으로 간단한 공부법만을 소개하고 이 글을 마.. 2020. 4. 18.
[백준] 2941번: 크로아티아 알파벳 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. 입력 첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다. 단어는 크로아티아 알파벳으로 이루어져 있.. 2020. 4. 17.
[백준] 1546번: 평균 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대.. 2020. 4. 17.
[백준] 1110번: 더하기 사이클 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 .. 2020. 4. 17.
[시스템프로그램]01-2 컴퓨터 시스템의 투어 이제 OS에 대하여 간단히 얘기를 할건데 OS는 시스템프로그램에서 자세히 다루는 내용이 아니여서 간단히만 설명하고 넘어가도록 할것이다. OS의 기능은 크게 UI, 리소스 관리, Process 관리, 보안이 있다. UI부터 살펴보자면 UI는 User Interface의 약자이며 우리가 컴퓨터를 켰을때 나타나는 바탕화면등이 있다. UI는 크게 세가지로 나눌 수 있는데 CLI(Comman Line Interface) Shell을 사용한 UI 이전 게시물에서 ./를 활용해 명령을 내리던 컴파일러를 말한다, GUI(Graphical User Interface)는 앞서 말했던 컴퓨터의 바탕화면, 지하철표, 영화관표 자동 구매 장치의ㅡ 화면들을 GUI라고 한다, HCI(Human Cpmputer Interface)는.. 2020. 4. 17.
[시스템프로그램] 01-1 컴퓨터 시스템의 투어 우리가 시스템프로그램이란 과목의 최종적인 목표는 아래의 같은 코드가 컴퓨터안에서 어떠한 절차를 통해서 우리가 원하는 결과를 보여주는 방식을 이해하는 것이다. #include int main(){ printf("hello, world\n"); return 0; } 이러한 우리가 컴파일러에 작성한 코드들은 일반적으로 source file이라고 부른다. 그리고 우리가 작성한 코드들은 컴파일을 진행하면서 binary code 0과 1로 바뀌게 되면서 컴퓨터가 이를 해석하고 실행시킨다. binary code로 바뀌기 이전에 우리가 작성한 코드들은 각문자들을 ASCII코드들로 변형을 할 수 있다. '#'는 35, 'i'는 105, SP는 32처럼 모든 값들을 변형시킬 수가 있다. 이러한 파일들은 Test file이.. 2020. 4. 17.