목록파이썬 (11)
땃쥐네
문제 플랫폼 : 백준 번호 : 24389 제목 : 2의 보수 난이도 : Bronze 1 2의 보수는 해당하는 숫자의 모든 비트를 반전시킨 뒤, 1을 더해 만들 수 있다. 이때, 32비트 기준으로 처음 표현했던 수와 그 2의 보수의 서로 다른 비트 수를 출력하기 문제 : 링크 필요 알고리즘 비트의 합 연산 두 비트 a, b가 있을 때 비트의 합 연산은 다음과 같다. carry_out은 자리 올림이고, sum은 해당 자리에 남는 수이다. carry_out : a and b sum : a xor b 풀이 bits_a = [True if bit == '1' else False for bit in bin(int(input()))[2:].rjust(32, '0')] bits_b = [not bit for bit i..
문제 플랫폼 : 프로그래머스 번호 : 012926 제목 : 시저 암호 난이도 : Level 1 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성 문제 : 링크 필요 지식 파이썬의 아스키 코드 처리 ord('문자')는 해당 문자의 아스키 코드 번호를 변환한다. 예) ord('0') -> 48 chr(아스키코드)는 해당 아스키 코드를 문자로 변환한다. 예) chr(48) -> '0' 풀이 풀이1 : 아스키 코드 활용 def solution(s: str, n: int): chars = [] for ch in s: if ch.isupper(): chars.append(chr(ord('A') + (ord(ch) - ord('A')+ n) % 26)) elif ch.is..
문제 플랫폼 : 프로그래머스 번호 : 077884 제목 : 약수의 개수와 덧셈 난이도 : Level 1 left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 문제 : 링크 필요 지식 수학 풀이 파이썬으로 풀었다. 풀이1 : 순수하게 약수 전부 카운팅 def solution(left, right): counts = [0, 1, *([2]*(right-1))] for i in range(2, right + 1): for j in range(2 * i, right + 1, i): counts[j] += 1 return sum(i if counts[i] % 2 == 0 else -i for i in range(left, right +..