Day25, 26. 5/27, 28일 파이썬 프로그래밍 테스트

이동은·2023년 5월 28일
0
post-thumbnail

오늘의 목표

  • 파이썬 프로그래밍 테스트 끝내기

오늘의 달성목표

  • 파이썬 프로그래밍 테스트 제출

오늘을 마치며

  • 오늘 처음으로 파이썬 프로그래밍 테스트를 보았다. 문제 난이도는 내 기준에는 너무 어려웠고, 많은 시간을 소비하였다. 모든 문제를 다 풀지도 못하였고, 정확하게 이해하지 못한 문제들도 많다. 추후에 코딩이 좀 더 익숙해지면 이 문제들을 다시 한 번 풀어봐야 할 것 같다.

파이썬 프로그래밍 테스트

문제1
이름이 tmp인 크기가 0인 리스트 데이터를 만드시오.

문제2
data_type 이라는 이름의 데이터형을 판별하는 함수를 작성해 주세요. 이 함수는 하나의 입력을 받아서 데이터형을 알아내야 합니다. Int, float, string, list, dict, tuple 등을 알아야 하며, 만약 list 형 데이터라면 list 형 데이터 안에 있는 각 데이터의 데이터타입도 반환해야 합니다. 아래 실행 예시를 확인해 주세요

data_type(1) int
data_type(5.) float
data_type([2, 3, [2, 3], "Hello"]) list, <int, int, list <int, int>, string>

문제3
우리나라와 달리 미국은 간단한 식사만 해도 팁을 주는 문화가 있습니다. 그래서 팁을 계산하는 함수를 만들면 좋겠습니다. 팁은 함수에서 입력 받도록 하죠. 팁을 계산하는 함수는 calc_tips라는 이름으로 하고, 입력은 전체 금액, 팁 비율로 하면 되겠네요. 혹시 사용자가 팁 비율을 입력하지 않으면 디폴트로 10%를 적용하도록 해주세요. 그런데, 1달러 단위로 딱딱 떨어졌으면 좋겠습니다. 동전을 들고 다니는건 불편하니까요. 그래서 만약 계산했는데, 5.6달러가 나오면 그냥 6달러로, 5.1달러가 나와도 그냥 6달러로 계산하도록 해주세요. 함수의 결과는 return이 아니라 print가 되도록 해주세요.

문제4
여러 문장으로 된 문서를 입력받아서 매칭되는 문자열의 횟수와 해당 문자열의 위치(index)를 알려주는
search_target이라는 이름의 함수를 작성해주세요.
예)

sentence = "Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex." >> target = "than"
search_target(sentence, target)
3, [20, 50, 82]

문제5
여러분들은 div_ab라는 이름의 함수를 하나 만들어 주세요. 이 함수는 입력 인자로 a, b를 받으며, 받은 인자의 첫 번째를 a, 두 번째를 b라고 합니다. 이함수는입력인자가꼭정수여야하며, 함수코드내부에서 정수인지 아닌지를 판별하도록 해서 정수일 때만 나눗셈을 수행하도록 해주세요. 함수의 출력(return)은 없고, 함수의 마지막에 print 문으로 a / b를 계산하는 나눗셈의 결과를 출력하는 함수입니다. 출력의 형태는 정확하게는 몫과 나머지를 구하는 함수입니다. 출력의첫번째항은몫, 두번째항은나머지가되도록 코드를 작성해 주세요. 여러분에게 한 가지 안타까운 소식은 div_ab라는 함수를 만들 때 나눗셈 기호( / )나 어떤 모듈이든 나눗셈을 직접 수행하는 명령을 사용할 순 없습니다. 나눗셈 명령 없이 나눗셈을 수행해 주세요.
예)

div_ab(3, 2) 3나누기2의결과:몫1,나머지1

문제6
하노이탑 문제가 있습니다. 아래 첨부된 사진의 글자가 흐릿하지만 신경쓰지 않아도 됩니다. 아래 그림을 설명해보겠습니다. 크기순으로쌓여있는원반세개가있습니다. 이원반은A, B, C장소중현재는A에 있습니다. 하노이 탑 문제는 작은 원반 위에큰원반이올려질수없다는것과한번에하나만옮길수 있다는 것을 지켜야 합니다. A에서 C로 갑자기 건너가는 것은 괜찮습니다.
여러분은 Python으로 아래 그림에 묘사된 하노이 탑 문제를 풀어야 합니다. 여러분의 문제는 하노이탑 원반의 개수는 n개입니다. 이 n개의 원반을 B 지점 혹은 C 지점으로 옮길 수 있어야 합니다. 즉, 하노이탑 문제를 풀 여러분이 작성해 주어야할 함수는 원반의 개수(n)와 어디서 원반이 시작하고(start_point) 어디서 옮기는지(end_point)를 입력받아야 합니다.

여러분이 만들어야하는 코드의 출력은 원반을 어디서 어디로 옮긴다는 메시지가 나타나면 됩니다. 위 그림을 예로 들면, 함수의 이름이 hanoi_sol이라면 위 그림의 상황은 Hanoi_sol(3, A, B)라고 입력해야 하고, 그 출력은 print 문으로
A -> B A -> C B -> C A -> B C -> A C -> B A -> B
라고 화면에 출력되면 됩니다. 꼭 장소는 알파벳이어야 하며, 위 결과처럼 표기되어야 합니다.

profile
또 다른 나를 찾아서

0개의 댓글