본문 바로가기
전공수업/Python

Python 기초문제 3,4,5,6번

by wonseok99 2019. 11. 1.

3. checkPalindrome

입력한 문자열이 대칭이되면 True 값을, 아닐경우 False값을 반환하는 문제

처음에는 문자열 슬라이싱을 이용하여 비교를하려했지만, "cabac" 같은 문자열의 경우 b를 기준으로 ca와 ac가 대칭이지만 ==연산으로 비교했을때 순서가 달라 잘못된 값이 나왔다.

 

그래서 for 문을 이용하여, 문자열/2 의 길이만큼을 반복횟수로 둔 다음,  문자열의 맨 앞과 맨 뒤를 비교하여 다르면 False 값을, 맞으면 True 값을 반환하게 했다.

 

 

 

4. adjacentElementsProduct

배열값을 입력하면 순차적으로 한쌍식 곱하여 가장 큰 값을 반환하는 문제이다.

inputArray = [1,2,3,4,5] 를 대입했다고 했을때,
먼저 a에 배열의 길이를 [5]를 저장하고, b에는 최초 쌍의 곱의 값을 넣어준다. <- 1*2

그리고 for문과 range를 이용하여 0~5 까지 출력하되, 연산에 필요한 배열의 마지막 인덱스값이 3 이므로 range(a-1)을 해준다. 0~4

if문을 이용해 최초쌍의 곱의 값과 다음쌍의 곱의 값을 비교하여, 다음쌍의 곱의 값이 더 클경우 b에 값을 넣어주고 반복하여 비교한 뒤 b값을 반환해준다.

 

다른 사용자의 해설을 보니 max함수를 사용해 간단하게 최대값을 반환하는 방법이 있다는 걸 알게되었다.

 

 

5. shapeArea

위와같은 방법으로 증가하는 도형에대해서 규칙을 찾아 함수를 만드는 문제이다.

1 , 5 , 13 , 25 --- 로 증가하는 등비수열이다. n값을 입력받은 뒤, n^2 + (n-1)^2 값을 반환해주었다.

 

 

6. makeArrayConsecutive2

배열값을 대입하면 오름차순으로 정리한 뒤, 정렬된 배열의 원소 사이에 부족한 숫자가 몇개인지 찾는 문제이다.

statues = [6, 2, 3, 8] 을 입력했다고 했을때, 먼저 입력받은 statues 배열을 sort함수를 사용해 오름차순으로 정렬해준다.

statues = [2, 3, 6, 8]  2와 3 사이에는 필요한 숫자가 없다. 3과 6사이에는 4,5.  6과 8사이에는 7. 총 3개의 숫자가 필요하다. 숫자 사이에 필요한 숫자의 개수를 구하기 위해서 (b>a) b-a-1 방정식을 사용했다. ex] 3,6사이. 6-3-1 = 2

for문을 사용하여 배열의 원소사이에 필요한 숫자의 개수를 구해준 뒤 순차적으로 더해 a값에 저장한다. 그리고 a값을 반환하였다.

'전공수업 > Python' 카테고리의 다른 글

파이썬의 딕셔너리  (0) 2020.03.03
파이썬 기본문법 - 2  (0) 2019.11.03
파이썬 기본문법 - 1  (0) 2019.10.30
Python 기초문제 1 , 2번  (0) 2019.10.30