본문 바로가기

분류 전체보기

(25)
[외계어 배우기] 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일 때만..
[외계어 배우기] Boolean 연산자들(문제#4 Telemarketers) 이제 문제#4 Telemarketers를 해결해 보자. 여기에서는 Boolean 연산자를 공부하고 이를 바탕으로 문제를 해결할 것이다. 우리가 해결할 문제는, 전화번호가 텔레마케터의 번호인지 판단하는 것이고, 전화번호는 네 자리라고 가정하자. 도전 과제: 다음 세 가지 조건을 모두 충족하는 4가지 숫자는 텔레마케터의 번호이다. 1) 첫 번째 순자는 8 또는 9이다. 2) 네 번째 숫자는 8 또는 9이다. 3) 두 번째와 세 번째 숫자는 동일하다. 입력: 한 줄에 숫자 하나씩, 총 네 자리 숫자를 제공하는 4줄 전화번호가 텔레마케터의 것인지 확인하고 전화를 받을지(answer) 말지(ignore) 결정해야 한다. Boolean 연산자 도전 과제를 읽어보면 '모두'라는 단어와 '또는'이라는 단어가 쓰여있다...
[외계어 배우기] Canadian Calorie Counting(동영상) 문제#3 Winning Team 해결 후 책에서 제안한 대로 연습문제를 먼저 풀어봤다. 연습문제는 아래 사이트의 Canadian Calorie Counting(ccc06j1)이다. CCC '06 J1 - Canadian Calorie Counting - DMOJ: Modern Online Judge At Chip's Fast Food emporium there is a very simple menu. Each food item is selected by entering a digit choice. dmoj.ca 이번에는 특별히 연습문제 풀이 전체를 내가 직접 설명하면서 동영상으로 만들어 보았다. 정말 열심히 고민하고 여러 가지 시행착오를 거쳐 문제를 해결했다. 그런데......... 두둥~ 어디가 잘못된..
[외계어 배우기] 문제#3 WinningTeam 지금까지 배운 것들을 바탕으로 Winning Team 문제를 해결해 보자. 앞에서도 언급한 적이 있지만, 이 문제를 해결하기 위해 어떤 것들을 활용할 것인가? input과 int 함수를 사용해서 각 팀의 3점, 2점, 1점 슛의 성공 횟수를 입력하고 정수로 읽어 온다. 변수를 사용해서 입력된 값들을 보관할 수 있다. 연산을 사용해서 각 슛의 성공 횟수에 점수를 곱하고 모두를 더할 수 있다. 조건문을 사용해서 승패에 따른 결괏값을 구할 수 있다. print 함수를 사용해서 A나 B 또는 T라는 문자를 출력할 수 있다. 이 코드를 작동시켜 보자. 또 이렇게 하나의 문제를 해결했다. 오예~ 책에서는 다음 문제로 넘어가기 전에 아래 문제를 풀어볼 것을 권했으며, 이 문제에 대해서는 생각했던 과정부터 풀이까지 다..
[외계어 배우기] 조건문2(문제#3 WinningTeam) 이제 파이썬 if 문에 대해 알아보자. Winning Team 문제를 해결하기 위해 코드를 작성하기 전에, 우선 글로 설명해 보면 다음과 같을 것이다. 사과 팀의 최종 점수를 apple_total이라고 하고, 바나나 팀의 최종 점수를 banana_total이라고 하자. 1. 만약 사과 팀의 최종 점수가 바나나 팀의 최종 점수보다 크면 A라고 출력하라. 2. 만약 바나나 팀의 최종 점수가 사과 팀의 최종 점수보다 크면 B라고 출력하라. 3. 만약 사과 팀의 최종 점수와 바나나 팀의 최종 점수가 같으면 T라고 출력하라. 자, 이제 코드를 보자. (이번에는 아이패드를 이용해서 공부했으므로 아이패드 앱인 Pythonista 3을 사용했고, 아쉽게도 유료이다.) if 문은 if 키워드로 시작한다. 키워드는 파이썬..
[외계어 배우기] 조건문1(문제#3 WinningTeam) 대부분의 프로그램은 실행 중 일어나는 일에 따라 다르게 동작한다. 이것은 우리의 일상과도 비슷하다. 예를 들면, 우리가 요즘 카페에 갔을 때 흔히 듣는 질문 중 하나가 “영수증 드릴까요?”이다. 이 질문에 대한 대답에 따라서 다음 행동이 달라진다. “예”라고 대답했다면 영수증을 받을 것이고, “아니요”라고 대답한다면 영수증을 받지 않을 것이다. 이를 프로그램에 적용해 보자. 예를 들어 워드프로세서가 작업을 저장할 것인지 물을 때 “예”라고 대답하면(“예”를 선택하면) 저장할 것이고 “아니요”라고 대답하면 저장하지 않을 것이다. 프로그램에 이런 결정을 내리도록 하는 것이 조건문Conditional statement이다. 이제, 우리가 해결해야 할 문제 #3에 대해 알아보자. 이 문제는 사과 팀과 바나나 팀..
[외계어 배우기] 문제#2 ConeVolume 이제, 문제#2 ConeVolume을 해결해 보자. 덧, 여기서 다시 한번 언급하고 싶은 것은, 이 글은 생선님(더 티처스라는 프로를 보니까 요즘 친구들은 선생님을 생선님이라고 부르더라고요 ㅎㅎㅎ)과 수업을 한 후 혼자 정리(복습)하면서 쓰는 글이다 보니 수업 당일의 기억이 50%도 남지 않은 상태에서 쓸 수 있다는 것이다. 최대한 그때의 기억을 되살리고, 수업 내용을 녹음한 것을 다시 들으며 복습하고 정리하지만 그래도 기억이 빈약할 수 있다. 이번 복습부터 PyCham을 사용한다고 말했던 거 기억하지? 정말, 얼마나 편하게 코드를 실행해 볼 수 있는지 영상 보면 느낄 수 있다. 너무 당연하지만, 어떤 편집기를 사용하느냐가 중요한 것이 아니라 내가 제대로 된 코드를 입력해야지만 제대로 작동한다. 이 장을..
[외계어 배우기] 수학(문제#2 ConeVolume) WordCount 문제를 해결했으니 두 번째 문제인 ConeVolume(원뿔의 부피) 문제를 해결해 보자. 도전과제: 직원뿔의 부피를 계산합니다. 덧, 직원뿔이란 축, 즉 꼭짓점과 밑면의 중심을 잇는 직선이 수직인 원뿔을 말한다. 원뿔의 부피를 구하려면, 수학이 필요하다. 즉, 문자열을 정수로 만드는 과정이 필요하고 또 파이썬에서의 수학 계산에 대해서도 알아야 한다. 코드에 대해서는 이번에도 책에서 친절히 알려준다. (정수에 대해서는 문제#1의 내용을 참고하자.) 입력: 입력은 두 줄의 텍스트로 구성되며, 첫 번째 줄은 원뿔의 반지름인 정수 r이고 두 번째 줄은 원뿔의 높이인 정수 h이다. r과 h는 모두 1과 100 사이의 값이다. 다시 말해, r과 h는 최솟값이 1이고 최댓값이 100이다. 수학시간에..
[외계어 배우기] 문제#1 WordCount 드디어, 첫 번째 문제를 해결할 시간이 왔다. 데스크톱에 prgramming이라는 폴더를 만들어 둔 것을 기억할 것이다. 혹 터미널 사용법이 기억나지 않는다면, 아래 글 참고하길 바란다. [외계어 배우기] 무엇을 할 것인가 이 책의 1장은 '무엇을 할 것인가'라는 제목으로 시작한다. 우리는 작업을 하거나 문제를 해결하기 위해 컴퓨터(프로그램)를 사용한다고 했다. 프로그램을 만들기 위해서는 프로그래밍을 해야 4programmer.tistory.com 문제를 해결하려면 텍스트 편집기를 사용해야 하고, macOS에 설치되어 있는 텍스트 편집기는 TextEdit이야. 이제 programming 폴더 안에 파일을 하나 만들어 보자. 이 영상헤서 touch 명령은 텍스트 편집기에서 열 파일을 만든다는 의미이고, -..

반응형