아이공의 AI 공부 도전기

[CodeUp] 1928번/1929번 : (재귀함수) 우박수 (3n+1) (basic/reverse) (Python)

 

 

     

1928번 Python (basic)

 

 

 

방법 1 - 메모리 27724 / 시간 20 / 코드 길이 151B

 

재귀함수를 위한 값들을 설정하고 홀수이면 3*x+1를 실행하고 짝수이면 x//2를 실행한다.

 

def wu(x):
  print(x)
  if x == 1:
    return 1
  
  if x % 2 == 1:
    return wu(3*x+1)
  else:
    return wu(x//2)

n = int(input())
wu(n)

 

 

 

 

1929번 Python (reverse)

방법 1 - 메모리 27724 / 시간 16 / 코드 길이 

 

1928번에서는 print를 처음에 위치하였다면 역순의 경우는 print를 마지막에 배치한다. 고로 print의 위치를 잘 고려하여 배치함으로써 원하는 결과를 획득할 수 있다.

 

def wu(x):
  if x == 1: 
    return print(1)
     
  elif x % 2 == 1:
    wu(3*x+1)
  else:
    wu(x//2)  
  return print(x)

n = int(input())
wu(n)

 

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading