프로그래머라는 직업은 웹 프로그래머, 응용 프로그래머, 시스템 프로그래머, 보안 프로그래머, 게임 프로그래머로 크게 5가지로 분류된다.
●웹 프로그래머: 우리가 흔히 쓰는 인터넷에 틀을 개발한다.
●응용 프로그래머: 휴대폰 어플리케이션이나. 한글 오피스같은 운영체제에서 사용할 수 있는 프로그램을 개발한다.
●시스템 프로그래머: Windows나 Linux 와 같은 운영체제를 시스템 프로그램으로 제어한다.
●보안 프로그래머: 백신, 방화벽 같은 컴퓨터 보안관련 소프트웨어를 개발한다.
●게임 프로그래머: 프로그래밍 언어와 툴로 게임을 개발한다.
요즘에는 빅데이터 관련 업종이 크게 유명해져서 관련직종도 늘어가는 추세이다. 또, 주변을 둘러보면 IT기기가 넘쳐가는 추세라 IT업종은 전망이 아주 좋을 것이라고 말하여진다.
헌데, 그 많은 IT전공자들이 다 어디로 갔길래 사람이 부족하다고 할까?
학과가 유명하지 않은 것도 아니다. 취업률이 높다고 하여 관련학과에 들어가고 싶어하는 사람도 수두룩하다. 그러나, 제대로 된 진로나 흥미 없이 취업이 잘 된다는 이유와 대학가면 다 배우겠지 하는 마인드로 들어온 학생들이 많다는 것이 문제가 된다.
IT시장은 따라가기 힘들 만큼 빠르게 진화하고 성장하고 있다. 그것을 4년 안에 대학교에서 배운다는 것은 불가능에 가깝다. 그로 인해 학원에 다니게 되었는데, 이것으로 양산형 프로그래머가 된다. 이렇게 프로그래머는 프로그래밍 실력을 늘리는 일보다는 자격증을 찾으며 스펙쌓기 바쁘다. 이런 프로그래머에겐 실무경험이 줄어들어 회사에서 원하지 않는다.(자격증이 나쁘다는 이야기가 아니라, 너무 스펙쌓기만 의존하는 것을 말한다.) 특히, 한국에서는 프로그래머들을 그저 노동자로 여기고 일을 시키는데, '너 말고 할 사람 많다'라는 식의 횡포를 부린다. 이러니 코딩문제 모르는거 있으면 치킨집에 물어봐라 라는 말이 생길정도로 사람들이 피하는 직업 중 하나이다. (어느 직업이나 이런 비슷한 실상을 겪으리라고 생각된다.) 실제로 이런 현실로 많은 프로그래머들이 '내가 왜 이 길로 왔을까' 절망한다.
이런 현실임에도 프로그래머가 되겠다고 생각한 사람은 진짜 프로그래머가 되기 위해 노력하길 바란다.
단어를 하나 입력받는다.
입력받은 단어(영어)의 각 문자를
한줄에 한 문자씩 분리해 출력한다.
단어(영어) 하나를 입력받는다.
(단, 단어의 길이는 20글자 이하이다.)
단어(영어)를 문자 단위로 나누어
한 줄에 한개씩 ‘ ’로 묶어서 출력한다.
Boy
'B' 'o' 'y'
C언어에서는 문장을 저장하기 위해 특별한 방법을 사용하지 않고
배열이라는 연속된 공간에 문자들을 연속으로 한 개씩 저장하는 방법을 사용한다.
단, 문자열(문장)의 마지막임을 나타내기 위해 문자열의 마지막에 널(NULL) 문자라는 특별한 의미를 갖는 문자를 삽입해 문장임을 나타낸다.
널(NULL)은 영어 단어 자체의 의미로는, 아무런 가치가 없는 또는 아무것도 없는, 사용되지 않은 등의 의미를 가지는데
문자로는 '\0', 아스키문자의 정수값은 0을 의미하며 NULL 로도 사용할 수 있다.
단어나 문장을 scanf("%s", ...); 로 입력받게 되면, 그 마지막에 널문자가 자동으로 입력되는 것이다.
그러므로 본 문제는 그렇게 저장되어있는 영문자들을 한 개씩 순차적으로 검사해서 문장의 마지막을 나타내는 널문자가 나올 때까지 형식에 맞추어 출력하면 된다.
나중에 조건실행문, 반복문, 배열에 대해서 배우면 명확히 이해할 수 있게 된다.
printf("%s", ...); 는 결국 저장되어 있는 문자의 마지막까지, 즉 널문자가 나올 때까지 형식에 맞추어 출력해 주라는 의미를 가진다.
for반복문은 괄호안에조건으로 중괄호를 반복하게 된다. 예를 들어보자면,
for(i=0;i<10;i++){ ... }
i=0으로 i값을 초기화 시켜준다. (int i;로 미리 정의 되어야하고 i가 아니여도 상관없다.)
i<10 으로 이것이 참이면 중괄호내의 코드를 실행한다.
i++ 'i++'는 i=i+1과 같은 의미이다. 여기서 중괄호 내의 코드가 끝나면 i++를 실행시키라는 의미이다.
[예시]
char d[30]; //최대 30문자를 저장할 수 있는 저장 공간 준비. 마지막에 널문자가 옴을 고려해야함.
scanf("%s", d); //그 공간에 키보드로 입력된 내용을 저장. 단, 공백이 있으면 거기까지만 입력됨.
for(i=0; d[i]!='\0'; i++) //저장된 내용을 하나하나씩 검사해서 널문자가 아닌 동안 아래 내용 실행
{
printf("\'%c\'\n", d[i]);
}
Python에선 조금 다른 식으로 for문이 된다. 예시를 들어보자면
for i in range(5):
somecode
"" 'range(a)'는 [0,1,2,3,...,a-1]이라는 0부터 a-1까지의 리스트를 의미한다. 'range(a,b)' 를 하면 a부터 b-1까지의 리스트이며 range(a,b,c)이면 a부터 b-1까지 공차가 c인 리스트를 의미한다. """
for뒤에 i라는 매개변수가 나오고 in 뒤에 무엇을 매개변수 i에다가 넣을지 결정한다. i에다가 in뒤에있는 요소를 넣고 코드를 실행시킨 후 다음 요소를 넣고 코드를 실행시키는것을 요소가 더이상 없을 때까지 반복한다.
'Programming > Codeup.kr기초100제 && 컴퓨터 이야기' 카테고리의 다른 글
[기초-입출력] 시분초 입력받아 분 만 출력하기 && 윈도우 단축키 (0) | 2016.11.18 |
---|---|
[기초-입출력] 정수 한 개 입력받아 나누어 출력하기 && 악성코드 (0) | 2016.11.16 |
[기초-입출력] 실수 한 개 입력받아 부분별로 출력하기 && ALU (0) | 2016.11.14 |
[기초-입출력] 문장 한 개 입력받아 그대로 출력하기 && CPU2 (0) | 2016.11.13 |
[기초-입출력] 단어 한 개 입력받아 그대로 출력하기 && CPU1 (0) | 2016.11.12 |