Python/이것이 취업을 위한 코딩테스트다

[이코테]그리디/문자열 뒤집기/ 백준 1439

정호나 2024. 10. 10. 12:25

📕 문제

https://www.acmicpc.net/problem/1439

 

 

 

📄 내가 생각한 풀이

 

💻 내 코드

 

# 3. 문자열 뒤집기

# 0001100
n = input()


result = 0

for i in range(len(n)-1):
	#i번째 문자와 i+1 문자가 같지 않거나 첫번째 문자와 i+1번째 문자가 같지 않을 때 result 1증가
    if n[i] != n[i+1] and n[0]!=n[i+1]:
        result += 1

print(result)

 

💻 답안


#두가지 경우의 수 중 더 적은 횟수min 값 리턴
#1. 모두 0으로 바꾸기 2.모두 1로 바꾸기

data = input()

#전부 0으로 바꾸는 경우
count0 = 0
#전부 1으로 바꾸는 경우
count1 = 0


if data[0] == '1':
	count0 += 1
else:
	count1 += 1 

# 두 번째 원소부터 모든 원소를 확인하며
for i in range(len(data) - 1):
    if data[i] != data[i + 1]:
        # 다음 수가 1이면 0으로 바꾸기
        if data[i + 1] == '1':
            count0 += 1
         # 다음 수가 0이면 1로 바꾸기
        else:
            count1 += 1

print(min(count0,count1))

 

📁 참고자료

 

☺️ 리뷰

 

2가지 경우에서 작은 횟수 구하는 방법을 생각하지 못했는데 

둘다 실행결과에서 메모리,시간이 동일하게 나옴

이런 경우 어떤 코드가 더 좋은 코드이고 점수가 높은지?

메모리 시간 같으면 같은 점수인가