본문 바로가기

WENIV

Python 알고리즘 베스트 10 - 자격 증명

728x90

문제설명 / 링크

  • 문제 설명 : 문자열을 아스키 문자로 변환하기
  • 문제 레벨 : 0
  • 문제 종류 : 요구사항 구현
  • 문제 링크 : https://pyalgo.co.kr/?page=1
  • 통과 여부 : Y

 

해설

def solution(data):
    ans = ''
    for d in data:
        # 공백 제거, +는 1로, -는 0으로 변경
        d = d.replace(' ', '').replace('+', '1').replace('-', '0')
        # 이진수를 10진수로 변환 후 ASCII 문자로 변환
        num = int(d, 2)
        ans += chr(num)
    return ans

 

코드 설명

 

1. 문자 변환:

  • replace를 사용하여 +를 1, -를 0으로 변환합니다.
  • 공백은 제거됩니다.

2. 이진수 → 10진수 변환:

  • int(d, 2)로 이진 문자열을 10진수로 변환합니다.

3. 10진수 → 문자 변환:

  • chr(num)를 통해 해당 숫자를 ASCII 문자로 변환합니다.

4. 문자열 조합:

  • 각 문자들을 ans에 추가합니다.

 

총평/느낀점

  • 문자열의 +, -, 공백을 올바르게 변환하는 것이 핵심입니다.
  • 이진수 → 10진수 → ASCII 문자 변환 과정이 중요합니다.
  • replace, int, chr 함수의 활용이 필수입니다.

 

출처

https://www.inflearn.com/course/python-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B2%A0%EC%8A%A4%ED%8A%B8-10

 

Python 알고리즘 베스트 10 강의 | The Oreum - 인프런

The Oreum | 가장 많이 출제되는 유형을 담은 'Python 알고리즘 베스트 10'을 통해 문제의 핵심을 찾아 풀이하는 능력을 키워보세요!, 파이썬 코딩 테스트,출제 빈도가 높은 예제로 똑똑하게 공부해요!

www.inflearn.com

 

728x90