본문 바로가기
Develop/Python + SWEA

[SW Expert Academy] 6311. 내장함수 4

by Tarra 2022. 1. 4.

문제)

"ADCBBBBCABBCBDACBDCAACDDDCAABABDBCBCBDBDBDDABBAAAAAAADADBDBCBDABADCADC"
같은 문자열이 주어지고
, A 4, B 3, C 2, D 1점이라고 할 때 문자열에 사용된
알파벳 점수의 총합을
 map 함수와 람다식을 이용해 구하십시오
.

 

입력 : 입력 없음

 

출력 : 184

 

풀이)

 

1
2
3
4
= "ADCBBBBCABBCBDACBDCAACDDDCAABABDBCBCBDBDBDDABBAAAAAAADADBDBCBDABADCADC"
= list(map(str, a))
= list(map(lambda x : ord('E'- ord(x), a))
print(sum(b))
cs

 

주어진 문자열을 map()을 이용해 변수 a에 리스트의 형태로 넣는데 까지는 할만 했지만

이후 lambda함수를 사용해 각 문자열을 점수로 변환하는 것은 아무리 생각해도 생각나지 않았다.

그래서 구글의 힘을 좀 빌려왔다.

 

다른 분의 코드에서는 

아스키코드의 A, B, C, D, E의 크기는 모두 차이가 1씩 나기 때문에 

이를 이용하여 제일 큰 아스키 코드인 'E'에서 각 문자를 아스키 코드로 변환한 값을 빼,

점수화 시킨 후 이를 더하는 방법을 사용했다.

 


문제 출처 : https://swexpertacademy.com/main/main.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.

학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.