Python : 코드카타 #1

Jinsung·2021년 11월 20일
0
post-custom-banner

1 문제

정답

def two_sum(nums, target):
    # 아래 코드를 작성해주세요.

# i = rangs(nums개수)
  for i in range(len(nums)):
    result=[]
    
    # a에 nums 인덱스0부터 끝까지
    a = nums[i]
    
    # j = range(1,nums개수)
    for j in range(i+1,len((nums))):
    
      # total=nums[0] + nums[rangs(1,nums개수)]
      total = a + nums[j]
      
      # 합이 target이랑 같아지면 빈 리스트에 넣어서 구해준다.
      if target == total:
        result.append(i)
        result.append(j)
        return result

다른 접근의 정답 : target에서 nums 한숫자를 뺀후 동일한 값이 list안에 없는지 확인하는 로직

  result=[]
  for i in range(len(nums)):
    a = target - i
    for j in range(1,len(nums)):
      if a == j:
        result.append(a,j)
  return result

2 문제

정답

그전에 알아야할 것
list 뒤집기

for loop

string = 'Hello, World!'
reversed_str = ''
for i in string:
    reversed_str = i + reversed_str

print(f'Original String: {string}')
print(f'Reversed String: {reversed_str}')

reversed()

string = 'Hello, World!'
reversed_str = "".join(reversed(string))

print(f'Original String: {string}')
print(f'Reversed String: {reversed_str}')
Original String: Hello, World!
Reversed String: !dlroW ,olleH

slice를 이용한 방법

string = 'Hello, World!'
reversed_str = string[::-1]

print(f'Original String: {string}')
print(f'Reversed String: {reversed_str}')

결과값

Original String: Hello, World!
Reversed String: !dlroW ,olleH

slice를 사용한 방법

def reverse(number):
  if number >= 0:
    c = str(number)[::-1]
    return int(c)
  elif number < 0:
    c = str(-number)[::-1]
    return -int(c)
post-custom-banner

0개의 댓글