문제링크 : https://www.acmicpc.net/problem/1439
문제자체는 간단해서 금방 풀었다
#0과 1로 이루어진 문자열
s = str(input())
count_one = 0
count_zero = 0
temp_char = s[0]
if temp_char == "1":
count_one += 1
else :
count_zero += 1
for i in range(1,len(s)):
if temp_char != s[i]:
if s[i] == "1":
count_one += 1
temp_char = s[i]
else :
count_zero += 1
temp_char = s[i]
if count_one >= count_zero:
print(count_zero)
else:
print(count_one)
근데 이런 코드는 좀 뭔가... 느낌이 별로다 힙하지 않은 느낌?
글래서 다른분들은 어찌했나 참고해보고 다시 짠 코드는
#0과 1로 이루어진 문자열
s = str(input())
trasition = 0
key_char = s[0]
for char in s:
if key_char != char:
trasition += 1
key_char = char
print((trasition+1)//2)
이거인데 그렇다고 이것도 힙하다고 할순 없다..ㅋㅋㅋ
그래도 훨~~씬 짧아진걸 알수있다.
짧아지긴 했지만 시간같은경우엔 이게 몇 ms더 걸린다
다른사람들 푼걸 보면 진짜 신기하다 어찌 그런생각들은 하는지..
'알고리즘' 카테고리의 다른 글
python 백준1260 DFS와 BFS(BOJ1260) (0) | 2022.12.23 |
---|---|
python 백준11931 수 정렬하기 4(BOJ11931) (0) | 2022.12.22 |
python 백준1339 단어수학(BOJ1339) (0) | 2022.08.01 |
python 백준1946 신입사원(BOJ1946 ) (0) | 2022.07.31 |
python 백준1789 수들의 합(BOJ1789) (0) | 2022.07.31 |