일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바스크립트
- ChatGPT
- 자바 실습
- 정보처리기사실기
- 머신러닝
- 중학1-1
- 자바스크립트심화
- 쇼핑몰홈페이지제작
- 파이썬
- JDBC
- 타입스크립트심화
- 디버깅
- JSP
- rnn
- 중학수학
- 데이터베이스
- 컴퓨터비전
- 개발일기
- JSP/Servlet
- 스프링
- html/css
- 상속
- 연습문제
- 딥러닝
- 자바
- SQL
- 스프링프레임워크
- 데이터분석
- 정보처리기사필기
- 혼공머신
- Today
- Total
"게임 개발자"를 향한 매일의 공부일지 1기 : 2024년 5 ~ 12월
파이썬 프로그래밍, 어떻게 시작할까? 2 - 3과 5의 배수를 모두 더하기 및 게시판 페이징하기 본문
저녁식사를 하고 조금 놀다가 8시가 넘어서 공부를 다시 시작해 본다. 파이썬 프로그래밍 오랜만에 해보는데 정말 재미있다.
3과 5의 배수를 모두 더하기
다음 문제를 어떻게 풀면 좋을지 생각해보자.
이 문제를 풀기 위한 중요 포인트는 2가지다.
- 1000 미만의 자연수를 구하는 방법
- 3과 5의 배수를 구하는 것
이 두 가지만 해결되면 문제는 쉽게 풀릴 것이다.
1. 먼저 1000 미만의 자연수는 어떻게 구할지 생각해 본다.
변수에 초기값을 준 후 루프를 돌리며 1씩 증가시켜서 999까지 진행하는 방법이 가장 일반적이다.
또는 range 함수를 사용할 수도 있다.
2. 1000까지의 자연수를 차례로 구하는 방법은 알았으므로 3과 5의 배수를 구하는 방법을 생각해 보자.
이 방식으로 5의 배수도 추가할 수 있을 것 같다.
3. 이러한 내용을 바탕으로 만든 최종 풀이는 다음과 같다.
하지만 이 문제에는 1가지 함정이 있다. 3으로도 5로도 나누어지는 15와 같은 수가 중복으로 더해질 수 있다는 점이다. 따라서 중복이 더해지지 않도록 or 연산자를 사용해야 한다.
게시판 페이징하기
게시물의 총 개수와 한 페이지에 보여 줄 게시물 수를 입력으로 주었을 때 총 페이지 수를 출력하는 프로그램이 필요하다고 한다.
프로그램을 만들기 위해 입력값과 결과값이 어떻게 나와야 하는지 먼저 살펴보자. 게시물의 총 개수가 5이고 한 페이지에서 보여 줄 게시물 수가 10이면 총 페이지 수는 1이 된다.
게시물의 총 개수(m) | 페이지 당 보여 줄 게시물 수(n) | 총 페이지 수 |
5 | 10 | 1 |
15 | 10 | 2 |
25 | 10 | 3 |
35 | 10 | 3 |
1. 총 게시물 개수(m)를 한 페이지에 보여 줄 게시물 수(n)로 나누고 1을 더하면 총 페이지 수를 얻을 수 있다.
총 페이지 수 = (총 게시물 개수 / 한 페이지당 보여 줄 개수) + 1
2. 이러한 공식을 적용했을 경우 총 페이지 수가 표의 값처럼 구해지는지 확인해 본다.
첫 번째에서 세 번째 케이스는 공식에 맞게 결과가 출력된다. 하지만 네 번째 케이스는 게시물 3이 되어야 하는데 4가 되었다.
3. 실패 케이스는 총 게시물 수와 한 페이지에 보여 줄 게시물 수를 나눈 나머지 값이 0이 될 때 발생한다는 것을 유추할 수 있다. 이 실패 케이스를 해결하려면 다음과 같이 코드를 변경해야 한다.
나누었을 때 나머지가 0인 경우는 나누기의 몫만 리턴하고 이외의 경우에는 1을 더하여 리턴하도록 변경했다. 프로그램을 실행해보면 모든 케이스가 원하던 결과를 출력하는 것을 확인할 수 있다.
학습을 마치고
어제 저녁에 이 내용을 학습하다가 마무리하지 못하고 다음날 새벽에 이어서 작성해 보았다. 이제 에디터를 사용하는 것도 많이 익숙해졌다.
다음 포스트에서 파이썬 프로그래밍을 이어서 학습해 볼 것이다.
'프로그래밍 언어 > 파이썬' 카테고리의 다른 글
파이썬 프로그래밍, 어떻게 시작할까? 4 - 하위 디렉터리 검색하기 (0) | 2024.10.05 |
---|---|
파이썬 프로그래밍, 어떻게 시작할까? 3 - 간단한 메모장 만들기 및 탭 문자를 공백 문자로 바꾸기 (0) | 2024.10.05 |
파이썬 프로그래밍, 어떻게 시작할까? 1 - 내가 프로그램을 만들 수 있을까? (0) | 2024.10.04 |
애러 읽고 대처하기 7 - 미션 문제 다시 풀기 (0) | 2024.09.09 |
객체의 세계로 4 - 실습 문제와 미션 문제 다시 풀어보기 (0) | 2024.09.08 |