본문 바로가기

Dev/SWEA + python

#6311 / 9. 내장함수 - 연습문제 4 [파이썬]

"ADCBBBBCABBCBDACBDCAACDDDCAABABDBCBCBDBDBDDABBAAAAAAADADBDBCBDABADCADC"와

같은 문자열이 주어지고, A는 4점, B는 3점, C는 2점, D는 1점이라고 할 때 문자열에 사용된

알파벳 점수의 총합을 map 함수와 람다식을 이용해 구하십시오.

출처(https://swexpertacademy.com/)

 

 

 

ABCD = "ADCBBBBCABBCBDACBDCAACDDDCAABABDBCBCBDBDBDDABBAAAAAAADADBDBCBDABADCADC"
total = list(map(lambda x: ord('E') - ord(x), ABCD)) # E - A = 69 - 65 = A는 4점
print(sum(total)) 

# [결과]
# 184

아래 표에서 확인할 수 있듯이

A = 65

B = 66

C = 67

D = 68

E = 69

 

* ord(문자) -> 10진수로 변환

ord('E') - ord(x)

A 4점

E(69)-A(65) = 4점

B 3점

E(69)-B(66) = 3점

C 2점

E(69)-C(67) = 2점

D 1점

E(69)-D(68) = 1점

 

마지막으로 sum함수를 사용해 total을 다 더해준다.