728x90
반응형

입력이 대문자인 경우 shift를 추가로 눌러줘야 되므로 대문자의 개수(cnt_other)를 세주고, 왼손과 오른손 영역에 속하는 알파벳의 개수(cnt_left, cnt_right)도 각각 세준다.

그 후 cnt_other를 cnt_left와 cnt_right의 차이가 최대한 줄어들도록 골고루 나눠주면 된다. 

EX) 입력이 Hello World인 경우

cnt_other = 3, cnt_left = 4, cnt_right = 6

-> cnt_left = 4 + 3 = 7, cnt_right = 6

S = input() 
li_left = 'qwertyasdfgzxcvb' 
li_right = 'uiophjklnm' 
cnt_left, cnt_right, cnt_other = 0, 0, 0 

for i in S: 
    if i.isupper(): 
        cnt_other += 1 
         
for i in S.lower(): 
    if i in li_right: 
        cnt_right += 1 
    elif i in li_left: 
        cnt_left += 1 
    else: 
        cnt_other += 1 

while cnt_other != 0: 
    if cnt_left <= cnt_right: 
        cnt_left += 1 
    else: 
        cnt_right += 1 
    cnt_other -= 1 
     
print(cnt_left, cnt_right)
728x90
반응형

+ Recent posts