Assignment 1

[정보]

1) Due Date: 2018년 9월 30일 (일), 23시 59분

2) 제출방법: jupyter notebook으로 작성된 내용을 github(추천), naver cloud, dropbox 등에 올리고, 올려진 파일의 URL을 다시 http://nbviewer.jupyter.org에 넣어서 산출된 URL을 EL사이트에 제출

3) 내용: 반드시 python code와 수행 결과를 jupyter notebook 내에 작성하여 넣고 이에 대한 설명등을 해당 코드 아래에 markdown cell에 넣어 기입하시오.

4) 숙제이후 소감: 11개의 문제를 모두 푼 이후에 현재까지 강의를 들은 이후의 소감, 숙제를 한 이후의 소감, 또는 전하고자 하는 말 등을 짧막하게라도 좋으니 마지막에 함께 작성하여 제출하시오.

5) 참고: ACM-ICPC 3문제 정답 기재 방법

  • https://www.acmicpc.net 사이트 회원가입

    • 반드시 본인 학번으로 회원가입(기가입자는 재가입)
  • ACM-ICPC 문제의 1. 정답 코드를 숙제 제출 리포트 내에 포함시키고

  • https://www.acmicpc.net 사이트에 본인이 작성한 코드를 직접 제출하여 올바른 정답임을 확인해주는 모습을 캡쳐하여 해당 2. 캡쳐 파일도 숙제 제출 리포트(.ipynb파일)내에 내장시켜 제출하시오. 이미지를 내장시키는 방법은 아래의 참고사이트를 참고하시오.


  • 캡쳐 파일의 모습은 다음과 같아야 합니다. image ! [image] (../images/AF91CA27-0B5B-44CE-9018-3D0E8D2DE51F.png)


  • 감점 사항(향후 모든 숙제에 적용됨)
    • ACM-ICPC 정답 코드를 포함하지 않는 경우
    • ACM-ICPC 사이트에서 캡쳐한 이미지의 모습이 예시와 같지 않는 경우(특히 학번이 나와있지 않는 경우)
    • ACM-ICPC 사이트에서 채점 결과가 "맞았습니다"가 아닌 경우
      • 단, 정답임에도 "맞았습니다"가 아닌 경우에는, 충분한 설명을 주석으로 제시하여 설득할 것
    • nbviewer url로 접근이 불가능한 경우(404 에러 등이 뜨면 안됩니다. github repository를 잘 관리하세요.)
    • python2로 코드를 작성한 경우
    • 주석이 자세하지 않거나 지나치게 짧은 경우
    • 2명 이상이 코드가 완벽히 동일한 경우

[문제]

  1. a="Hello Python" 문자열을 Slicing과 연결 연산자 (+)를 사용하여 "Python Hello"로 변경하시오.
    • [주의] a 변수 자체에 "Python Hello" 문자열이 저장되어야 함
  1. b="Hello Python World" 문자열을 Slicing과 연결 연산자 (+)를 사용하여 "World Python Hello"로 변경하시오.
    • [주의] b 변수 자체에 "World Python Hello" 문자열이 저장되어야 함
  1. c="Hello"를 "olleH"로 변경하시오
    • [주의] c 변수 자체에 "olleH" 문자열이 저장되어야 함
  1. s="python"에 대해 다음 문제를 풀어보시오.
    1. s[0], s[0][0], s[0][0][0]은 각각 어떤 값이 나오는지 확인하고 그 이유를 나름대로 설명해 보시오.
    2. s[-100], s[100]은 값이 나오는지 에러가 나오는지 확인하고 그 결과에 대한 이유를 나름대로 설명해 보시오.
    3. s[-100, 100]은 값이 나오는지 에러가 나오는지 확인하고 그 결과에 대한 이유를 나름대로 설명해 보시오.
    4. s[1:-1]의 결과를 확인하고 그 결과에 대한 이유를 정확하게 설명하시오.
    5. s[3:-3]의 결과를 확인하고 그 결과에 대한 이유를 정확하게 설명하시오.
  1. for문을 활용하여 1부터 100사이의 홀수를 출력하시오.
  1. while문을 활용하여 1부터 100사이의 짝수의 합을 계산하여 출력하시오.
  1. 사용자로 부터 임의의 정수를 입력받고, 해당 숫자를 역순으로 출력하는 프로그램을 작성하시오.

    [실행 예]

     정수를 입력하세요: 3125
     숫자 역순은 5213 입니다.
  1. 사용자로 부터 정수를 입력받아서 1부터 그 사이에 존재하는 소수 (Prime number)를 출력하는 파이썬 프로그램을 작성하시오.
  1. [ACM-ICPC 문제 2441번]
  1. [ACM-ICPC 문제 11721번]
  1. [ACM-ICPC 문제 2839번]