프로그래머스/파이썬_입문

편지 + 비트시프트연산자 <<

싱싱한복초이 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

'프로그래머스 > 파이썬_입문' 카테고리의 다른 글

문자열 계산하기  (0) 2024.11.09
가장 큰 수 찾기  (0) 2024.11.08
약수 구하기+set(),extend()  (0) 2024.11.06
한 번만 등장한 문자  (0) 2024.11.05
인덱스 바꾸기  (0) 2024.11.03