본문 바로가기

분류 전체보기

(25)
[외계어 배우기] 반복문: 무한 반복(문제#8 Slot Machine) 지난 번에 배온 내용들로 문제#8 Slot Machine을 해결했는데, 이번에는 다른 방식으로 해결해 보려고 한다. 이전에 정수와 부동소수점에 대해서 배운 기억이 나지? 그때 나눗셈의 나머지를 계산하는 Mod 연산자(%)에 대해서 이야기한 기억이 날거야. 혹시 안난다면 다시 정리해 보도록 하고. [외계어 배우기] 정수, 변수(문제#1 WordCount) 지난 시간에 이어 첫 번째로 주어진 문제를 풀기 위해 공부해 보자. 우선, 지난 시간에는 문자열 값에 대해 배운 것을 정리하였고, 이번 시간에는 숫자 값에 대해 배운 것을 정리해 볼 것이다. 파 4programmer.tistory.com 여하튼 % 연산자를 이용하면 나머지를 보여주는 건데, 여기에도 규칙(패턴)이 있다. 예제와 같이 나누어지는 수보다 1적..
[외계어 배우기] 반복문: 무한 루프(문제#8 Slot Machines) 자, 그럼 이제 Chapter4 반복문: 무한 루프에 대해 지금까지 배운 것들을 정리해 보자. 일단 Chapter 3 반복문: 한정 루프를 공부하기 시작하며, 한정은 Iteration의 이미이고 무한은 Recursion의 의미라고 이야기한 것을 기억하자. 덧, 솔직히 말하자면 이 블로그를 정말 열심히 열심히 작성하다가 갑자기 노트북이 꺼져서 저장조차 안되고 다 날아가버렸다. 이번 장은 슬롯 머신 문제를 풀면서 recursive 루프에 대해 먼저 배우기 시작할 것이다. 도전 과제: 마르타가 n의 칩을 가지고 슬롯 머신을 플레이 하는데, 슬롯 머신은 3개가 있고 순서대로 플레이할 것이다. 첫 번째 슬롯 머신을 플레이한 후 두 번째 슬롯 머신을 플레이하고 그 후 세 번째 슬롯 머신을 플레이한 다음 다시 첫 번..
[외계어 배우기] 반복문(문제#7 Data Plan) Iteration(규칙이 있는) 반복의 마지막 문제를 풀어보자. 도전 과제: 내가 사용하는 휴대전화 데이터 요금제는 매달 x MB 만큼 데이터를 제공한다. 사용하지 않은 데이터는 다음 달로 이월된다. 그렇다면 내가 n개월동안 사용한 후 그 다음 달 사용 가능한 데이터량을 계산한다. 입력: 1. 매월 주어지는 데이터량 x(정수이고 1
[외계어 배우기] 반복문(문제#6 Occupied Spaces) iteration 반복문을 계속 공부하며 다음 문제를 해결해 보자. CCC '18 J2 - Occupy parking - DMOJ: Modern Online Judge You supervise a small parking lot which has N parking spaces. dmoj.ca 도전 과제: n개의 주차 공간을 관리 중인데, 어제 점유된 주차 공간을 기록하였고, 오늘도 기록하였다. 어제와 오늘 모두 점유된 주차 공간의 수를 표시하라. 입력: 입력은 세 줄이다. 1. 중차 공간의 수를 나타내는 n(정수, 1 3에서 시작해서 7까지 범위의 정수를 의미한다. 7은 표기하지 않는다. range(0, 10, 2) 0 2 4 6 8 --> 0에서 시작해서 10까지 범위의 정수를 나타내는데, 2는 증가 ..
[외계어 배우기] 연습문제 "Chapter3 반복문: 한정 루프"에서 첫 번째 문제(문제#5)를 해결한 후 풀어보라고 제안한 문제 2가지 중 한 가지를 풀어보고 넘어가겠다. 문제는 사이트에서 확인할 수 있으며 2017년 Woburn Challenge의 주니어 부문 3라운드 문제라고 한다. WC '17 Contest 3 J3 - Uncrackable - DMOJ: Modern Online Judge You'd like to register an account on an extremely entertaining website. You've already selected a username, but it seems that the requirements for choosing a password are quite strict, in o..
프로그래밍 언어의 철학 파이썬을 배우기 시작하면서 선생님이 '프로그래밍 언어의 철학'에 대해 알아보고 나랑 가장 잘 맞을 것 같은 언어를 선택하라고 하셨어요. 이전에는 프로그래밍을 배우고 싶다고 하면 대부분 뭘 만들고 싶은지를 물어보셨는데, 이번에는 조금 다른 접근법이라 신선했고, 언어마다 가지고 있는 철학에 대해 알아보는 기회가 되었답니다. 지금 제가 배우고 있는 파이썬을 기준으로 파이썬 이전에 나온 언어 2~3가지의 철학과 그 이후에 나온 언어 몇 가지의 철학에 대해 알아봅시다. 프로그래밍 언어의 탄생 연도는 위키백과를 참고했어요. 프로그래밍 언어의 역사 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 이 문서는 프로그래밍 언어의 역사의 주요 발전에 대하여 논한다. 1940년 이전[편집] 초기의 프로..
[외계어 배우기] 문제#5 Three Cups 이제 문제를 해결해 보자. 문제는 이전에 올린 글 에서 확인할 수 있다. [외계어 배우기] 반복문(문제#5 Three Cups) 어느새 Chapter3 반복문에 대해서 배울 차례이다. 이 책에서 3장의 제목은 "반복문: 한정 루프"이고 4장의 제목은 "반복문: 무한정 루프"이다. '한정', '무한정'이라는 용어 때문에 'limit', 'unlimit'이라 4programmer.tistory.com 루프에서 사용할 변수명은 swap_type이다. 교환 유형을 말하는 것이다. 이처럼 변수명은 누가 봐도 이해할 수 있게 작성해야 합니다. (변수명이나 코드를 표현할 수 없은 도메인에 관한 것들은 주석으로 남긴다.) 우선 책에 있는 코드를 보자. 코드를 보자. 1. 교환에 대한 문자열이 입력된다. 2. 볼은 1번..
[외계어 배우기] 반복문(문제#5 Three Cups) 어느새 Chapter3 반복문에 대해서 배울 차례이다. 이 책에서 3장의 제목은 "반복문: 한정 루프"이고 4장의 제목은 "반복문: 무한정 루프"이다. '한정', '무한정'이라는 용어 때문에 'limit', 'unlimit'이라는 의미를 떠올리기 쉬운데, 여기서 말하는 '한정'이란 'Iteration'을 말한다. 즉, 계획된 혹은 규칙이 있는 루프를 의미하는 것이다. 그렇다면 '무한정'은? 'Recursin', 즉 매번 판정해야 하는 루프를 말하는 것이다. 여하튼, 문제5# Three Cups(야바위)에 대해 알아보자. 야바위라는 말에서 알 수 있듯이, 밖에서 볼 수 없는 엎어진 컵 중 어느 컵 안에 공이 위치했는지 찾는 문제이다. 도전 과제: 불투명한 컵이 3개 있고, 컵은 왼쪽(위치1), 가운데(위치..
[외계어 배우기] Happy or Sad [코딩 테스트로 시작하는 파이썬 프로그래밍] 도서의 "chapter2 조건문"을 복습한 후, 연습문제를 풀면서 영상을 만들어 보았다. 이번 연습문제를 풀면서는 컴퓨터에게 애매하지 않고 정확한 언어(코드)로 이야기하는 것에 다시 한번 생각하게 되었다. 자막도 넣어 보았다. 문제를 조금 더 자세히 보고 싶다면 여기를 참고하길 바란다.
공부하며 생각하기 - 좋은 코드 좋은 코드에 대해서 생각해 봅니다. 프로그래밍을 배우면서 선생님께 가장 많이 듣는 이야기가 가독성 부분입니다. 코드가 가독성이 좋다는 것은 무엇일까요? 제 생각을 공유해 보겠습니다. 일단, 컴퓨터가 읽기 좋은 코드라는 의미일 것입니다. 왜냐하면 우리가 짜는 코드는 결국 우리가 컴퓨터에게 명령하고 싶은 것들을 프로그래밍 언어를 통해 번역한 것이니까요. 그런데 컴퓨터만 이해하기 좋으면 될까요? 사실 해결해야 할 문제를 이해하고 코드를 작성하고 나중에 그 코드를 수정하거나 보완해야 하는 것은 사람의 몫이기 때문에 사람도 읽기 좋아야 할 것입니다. 여기에서 어느 쪽을 더 우선시해야 하냐의 문제가 있을 수 있는데, 이 부분은 당연히 사람이지 않을까요? 사람이 해결하고 싶은 문제를 위해 프로그래밍을 하는 것이니까..

반응형