알고리즘 공부 8일차

김서영·2024년 1월 7일
0

알고리즘

목록 보기
8/25

1. 프로그래머스 - 다음 큰 숫자

def solution(n):
    answer = n + 1
    while True:
        if bin(n)[2:].count("1") == bin(answer)[2:].count("1"): # 이진수로 바꾼 후 두개의 1의 갯수가 같으면..
            break
        else:
            answer += 1
    return answer

2. 프로그래머스 - 피보나치 수

def solution(n):
    fibo = [0, 1] # 기본값 넣어놓고
    for i in range(2, n+1):
        fibo.append(fibo[i-1] + fibo[i-2]) # for문으로 2부터 값을 넣어준당
            
    answer = fibo[-1]%1234567
    return answer

3. 프로그래머스 - 짝지어 제거하기

def solution(s):
    answer = 1
    S = []
    for i in s:
        if len(S) == 0 or (S and i != S[-1]): # S가 비었거나 S가 비지 않았고 i가 S[-1]값과 다를때만 S에 i를 넣어줌
            S.append(i)
        elif S and i == S[-1]: # S가 비지 않았고 i가 S[-1]값과 같을 때 마지막 값 없애기
            S.pop()
    if S: # for문이 끝난 후 S에 값이 존재하면
        answer = 0
    return answer
profile
개발과 지식의 성장을 즐기는 개발자

0개의 댓글