49일차 문제

양진혁·2021년 12월 20일
0

문제풀이

[7, 1] => [1, 7]

[5, 8, 6, 3, 4] => [3, 8, 6, 5, 4]

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0] => [1, 8, 3, 6, 5, 4, 7, 2, 9, 0]

즉 홀수면 순서를 바꿔주고 짝수의 경우는 그대로 놔두는 문제이다

def sort_array(source_array):
  odd =sorted([i for i in source_array if i%2 !=0])
  odd_int = 0
  for i in range(len(source_array)):
    if source_array[i] %2!=0:
      source_array[i] = odd[odd_int]
      odd_int +=1
  return source_array

먼저 홀수만을 따로 빼줘서 정렬을 한 odd라는 리스트를 만들어 준다.
그 다음 odd_int라는 숫자를 0으로 지정한 후 반복문을 통해서 만약 source_array의 i번째 인덱스가 짝수가 아닌 경우 odd의 첫번째 인덱스와 바꿔주고 그 다음 odd_int에다가 1을 더해주어서 반복문을 진행한 후 source_array를 리턴한다.

두번째는
"camelCasing" => "camel Casing"
"identifier" => "identifier"
"" => ""

즉 camel 표기법일 경우에는 띄어쓰기를 적용해주어야 한다.

def solution(s):
  s = list(s)
  for i in range(1,len(s)):
    if s[i].isupper():
      s[i] = " "+s[i]
  return "".join(s)

먼저 문자열을 리스트로 바꾼 후 맨 처음 대문자가 나오는 경우를 제외하기 위해서 반복문을 1에서 s의 길이만큼 반복횟수를 정해준 후 만약 s의 i번째 인덱스가 대문자일 경우 s[i] 앞에 띄어쓰기를 추가해준 후 join을 사용해서 리턴한다.

0개의 댓글