문제

(사진을 누르면 백준으로 이동합니다 )
풀이
나는 ‘0011110011’ 이런 문자열을, 중복을 제거해서 ‘0101’로 변화시킨 후에 ‘0’과 ‘1’ 의 개수를 비교하여, 적은 수를 출력하는 코드를 작성하였다.
그런데, 다른 사람들 풀이를 보니까 정말 간단하게도 적혀있던데, 그래도 아직 나에게는 직관적으로 이해하기 어려운 것 같다.
#1439
# 문자열 입력 받기
S= input()
# 문자열 중복 제거
lst = []
lst.append(S[0])
for i in range(1,len(S)):
if S[i] != lst[-1]:
lst.append(S[i])
# 0과 1중 적은 개수 확인
if lst.count('0') <= lst.count('1'):
print(lst.count('0'))
else:
print(lst.count('1'))
느낀 점
다른 사람 코드를 보는 것도 좋지만, 너무 내 코드가 멋있지 않다고 좌절할 필요는 없는 것 같다. 계속 공부를 하다 보면 나도 남들처럼 간결하게 코드를 작성할 수 있을 거 같다.
No Responses