https://school.programmers.co.kr/learn/courses/30/lessons/120898
[문제 설명]
머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 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
'프로그래머스 > 파이썬_입문' 카테고리의 다른 글
문자열 계산하기 (0) | 2024.11.09 |
---|---|
가장 큰 수 찾기 (0) | 2024.11.08 |
약수 구하기+set(),extend() (0) | 2024.11.06 |
한 번만 등장한 문자 (0) | 2024.11.05 |
인덱스 바꾸기 (0) | 2024.11.03 |