본문 바로가기

카테고리 없음

[TIL] 파이썬 코드카타

★ 파이썬 풀면서 주의해야 할 것 : 들여쓰기 알맞게 하기

 

33번)  

두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요

.

 [제한사항]

  • 1 ≤ left  right ≤ 1,000

 

풀이)

1. 'answer'변수 초기화하기. 이 변수는 최종 결과 값을 저장

2. left에서 right까지 모든 정수를 포함하는 반복분 실행

3.각 정수 i에 대해 약수의 개수를 세기 위한 count 변수 생성

4. 1부터 i까지 숫자 중 i의 약수를 찾기 위해 반복문 실행

5. i가 j로 나누어 떨어지는지 확인하여 약수인 경우 count를 증가시킨다

6. 약수의 개수 count가 짝수인지 홀수인지 확인하여 answer에 더하거나 빼기

 

 

34번 ) 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. (문자열 내림차순하기)

 

1. sorted함수로 문자열 s를 정렬하고 reverse = True로 역순으로 바꾸어 준다.

=> 만약 입력이 "bca" 였다면 이때 결과는 [ 'c', 'b', 'a' ]로 나온다

2. ' ' . join 으로 정렬된 문자 리스트를 빈 문자열 ' '을 기준으로 합쳐서 하나의 문자열로 합친

 

 

36번)

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

 

[제한 사항]

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
  • isdigit () 함수  : 문자열이 숫자로만 구성되어 있는지를 확인하는 데 사용되는 문자열 메서드입니다.

1. 문자열 s의 길이가 4 또는 6인 경우를 조건으로 만들어준다

2. 만약 true라면 isdigit() 함수를 사용하여 숫자인지 확인해주기 

3. 맞다면 true 아니면 false 반환

 

 

37번 ) 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

풀이)

1. 바깥쪽 for문 : arr1의 행 수 만큼 반복

2. 내부 for문 : sum 리스트는 현재 행의 요소들을 더한 결과를 저장한다. 

 arr1[0]의 길이만큼 각 열의 요소들을 더한다. => arr1[i][j] + arr2[i][j]는 arr1과 arr2의 같은 위치에 있는 요소를 더한 값을 sum 리스트에 추가한다.

3. sum 리스트를 answer 리스트에 추가해준다.