Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- PYTHON
- 캐치카페
- 백준
- Baekjoon
- github
- 자연어처리
- 코로나19
- 편스토랑 우승상품
- 파이썬
- Docker
- 프로그래머스
- Real or Not? NLP with Disaster Tweets
- ubuntu
- 편스토랑
- 금융문자분석경진대회
- gs25
- ChatGPT
- leetcode
- programmers
- AI 경진대회
- Git
- 프로그래머스 파이썬
- 데이콘
- hackerrank
- dacon
- 더현대서울 맛집
- 맥북
- SW Expert Academy
- 우분투
- Kaggle
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 3059번 : 등장하지 않는 문자의 합 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 등장하지 않는 문자의 합입니다.
Solution
def get_not_appearing_word_sum(input_list):
input_str_ascii_list = set([ord(char) for char in input_list])
not_appearing = [num for num in range(ord('A'), ord('Z') + 1) if num not in input_str_ascii_list]
return sum(not_appearing)
if __name__ == "__main__":
for i in range(int(input())):
input_list = list(input())
print(get_not_appearing_word_sum(input_list))
Solution 풀이
이 문제는 문자를 아스키 코드로 변환해주는 내장 함수인 ord를 활용하면 정말 쉽게 풀 수 있습니다.
먼저 몇개의 문자열을 입력 받을 것인지 입력 받은 다음 그 수만큼 반복하면서 문자열을 입력 받습니다.
입력 받은 문자열에서 각각의 문자를 하나씩 가져와 ord를 거치게 하여 아스키 코드로 변환하여줍니다.
이를 set으로 만들어 중복된 값이 없도록 합니다.
ord('A') 부터 ord('Z') 까지의 수만큼 반복문을 돌면서 입력받은 문자의 아스키 코드가 아닌 값들만 모은다음
이를 sum으로 더한 값을 출력하면 끝!
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 1076번 : 저항 (Python) (0) | 2021.06.18 |
---|---|
[BaekJoon] 2941번 : 크로아티아 알파벳 (Python) (0) | 2021.06.17 |
[BaekJoon] 17269번 : 이름궁합 테스트 (Python) (0) | 2021.06.15 |
[BaekJoon] 11586번 : 지영 공주님의 마법 거울 (Python) (2) | 2021.06.14 |
[BaekJoon] 11721번 : 열 개씩 끊어 출력하기 (Python) (4) | 2021.06.13 |
Comments