본문 바로가기

Python 배우기

(23)
[외계어 배우기] 반복문: 무한 반복(문제#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..
[외계어 배우기] 문제#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 조건문"을 복습한 후, 연습문제를 풀면서 영상을 만들어 보았다. 이번 연습문제를 풀면서는 컴퓨터에게 애매하지 않고 정확한 언어(코드)로 이야기하는 것에 다시 한번 생각하게 되었다. 자막도 넣어 보았다. 문제를 조금 더 자세히 보고 싶다면 여기를 참고하길 바란다.
[외계어 배우기] An Honest Day's Work Chapter 1을 복습하면서 연습문제 풀이 과정 중에 하나를 영상으로 만들어 보았다. 해당 연습문제를 링크를 통해 확인할 수 있다. https://dmoj.ca/problem/wc18c3j1 이 문제는 포켓몬스터 애니메이션을 한번이라도 본 사람이라면, 아니 보진 않았더라도 로켓단에 대해 알고 있다면 더 재미있게 풀 수 있을 듯하다.
[외계어 배우기] 문제#4 Telemarketers 지금까지 배운 것들을 바탕으로 Telemarketers 문제를 해결해 보자. 조건을 다시 정리해 보자. 첫 번째 숫자가 8이거나 9, 그리고 네 번째 숫자가 8이거나 9, 그리고 두 번째와 세 번째 숫자가 같으면 'ignore'을 반환하고 아니면 'answer'를 반환한다. 1) 각 자리 숫자를 읽어서 정수로 변환한다. 덧, 표현식이 다음 줄에도 계속될 수 있으므로 괄호로 묶어주여야 한다. 위의 코드도 전혀 문제가 없지만 더 가독성을 좋게 하려면 줄 바꿈을 해주는 것이 좋다. 2) 첫 번째 숫자가 8이나 9인지 판단한다. 3) 네 번째 숫자가 8이나 9인지 판단한다. 4) 두 번째와 세 번째 숫자가 같은지 판단한다. if 문의 표현식이 and 연산자로 연결되어 있기 때문에 각각의 표현식이 True일 때만..

반응형