프로그래머스/파이썬_입문
편지 + 비트시프트연산자 <<
싱싱한복초이
2024. 11. 7. 15:31
https://school.programmers.co.kr/learn/courses/30/lessons/120898
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[문제 설명]
머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 공백도 하나의 문자로 취급합니다.
- 1 ≤ message의 길이 ≤ 50
- 편지지의 여백은 생각하지 않습니다.
- message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.
[나의 풀이]
def solution(message):
answer = 0
for i in message:
answer += 2
return answer
[다른 풀이]
def solution(message):
return len(message)<<1
비트 시프트 연산자를 이용한 방법
📌 비트 시프트 연산 << 1의 의미: n << 1은 이진수로 표현된 수 n을 왼쪽으로 한 자리 이동시키는 것으로, 숫자를 두 배로 만드는 효과가 있습니다. 예를 들어, 5를 이진수로 표현하면 101인데, 이를 왼쪽으로 한 칸 시프트하면 1010이 되어 10(2진수 1010 = 10)이 됩니다.
def solution(message):
return len(message)*2