Algorithm/문제풀이

[Python][Programmers] 기초문제_12969, 12954, 12948, 12947, 12947

Deveun 2021. 5. 5. 21:40

- [12969] 직사각형 별찍기

# a, b = input().split()

# str = "*" * int(a)+'\n'
# str = str * int(b)

### int로 입력받기
a, b = map(int, input().split())

str = ('*'*a + '\n')*b
print(str)

 

- [12954] x만큼 간격이 있는 n개의 숫자

def solution(x, n):  
    
    ### 풀이1
    # answer = [x]
    # while n-1: 
    #     answer.append(answer[-1] + x)
    #     n=n-1
    
    ### 풀이2
    answer = [x * (i+1) for i in range(n)]
    
    return answer

 

- [12948] 핸드폰 번호 가리기

def solution(phone_number):
    answer = '*'*(len(phone_number)-4)+phone_number[-4:]
    return answer

 

- [12947] 하샤드 수

def solution(x):
    
    # integer -> string
    # st = "%s" %x
    st = str(x)
    answer = False if(x%sum(map(int, list(st)))) else True
    return answer

--> 정수를 문자열로 바꿀땐 str(x)

 

- [12943] 콜라츠 추측

def solution(num):
    
    answer = 0
    while num != 1:
        
        # if num % 2 == 0:
        #     num = num / 2
        # else:
        #     num = num * 3 + 1
        
        num = num / 2 if num % 2 == 0 else num * 3 + 1
        answer += 1
        
        if answer == 500:
            answer = -1
            break
    
    return answer